IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 【Django+Apscheduler 开发定时任务模块】【二】 -> 正文阅读

[系统运维]【Django+Apscheduler 开发定时任务模块】【二】

目录

    本文章要实现的是Django+Apscheduler 开发定时任务模块,并使用uwsgi+nginx模式部署,
    且能避免多进程下任务重复执行,且能够页面动态操作任务;

一、回顾

上一节我们已经创建好了django项目,请前往查看
【Django+Apscheduler 开发定时任务模块】【一】

二、安装Apscheduler

1、安装Apscheduler很简单,只需一条命令:

	pip install apscheduler

2、使用Apscheduler,网上有详细介绍,官网也有,这里不多说:
官网
翻译版

三、编写存储定时任务的model

1、新建一个app,这里就简单的叫app

	python manage.py startapp app

2、在settings.py中添加app模块

	INSTALLED_APPS = [
    	'simpleui',
    	'django.contrib.admin',
    	'django.contrib.auth',
    	'django.contrib.contenttypes',
    	'django.contrib.sessions',
    	'django.contrib.messages',
    	'django.contrib.staticfiles',
    	'app.apps.AppConfig',        # 添加app模块
	]

3、在app文件夹下的models.py中添加名为job_list的model,直接上代码:

	
	class job_list(models.Model):
    	decpet = models.CharField('描述', max_length=255)
    	job_name = models.CharField('任务名称', max_length=25)
    	trigger_name = models.CharField('触发器', max_length=25)
    	type_choices = (('date', 'date'), ('cron', 'cron'))
    	type_content = '''调度类型 对应 参数(执行频率)  例:<br/>
                    	1、date:2019年8月30日 凌晨一点 执行任务<br/>参数值:2019-8-30 01:00:00 <br/>
                    	2、cron:每天 凌晨两点 执行任务 (秒 分 时 日 月 星期 年)<br/>参数值:0 0 2 * * * *'''
    	action_type = models.CharField('调度类型', choices=type_choices, max_length=25, default='cron')
    	gender_choices = ((0, '停止'), (1, '启动'),)
    	job_state = models.IntegerField('任务状态', choices=gender_choices, default=0)
    	job_rate = models.CharField('执行频率', help_text=type_content, max_length=50)
    	time = models.IntegerField('执行次数', default=0)

    	def __str__(self):
        	return self.decpet

    	class Meta:
        	verbose_name_plural = '定时任务'

4、在app文件夹下的admin.py中注册JobListAdmin,看代码:

	@admin.register(job_list)
	class JOBLISTAdmin(admin.ModelAdmin):
    	list_display = ('id', 'job_name', 'decpet', 'trigger_name', 'job_state', 'action_type', 'job_rate')
    	list_display_links = ('id', 'job_name')
    	list_filter = ('job_state',)
    	list_editable = ('action_type', 'job_rate',)
    	list_per_page = 20
    	list_max_show_all = 7
    	ordering = ('-job_state', 'id',)

四、展示

ok,这一节就先到这里,我们已经创建好了定时任务模块,并且页面展示也已经完成;附上截图,里面会有下节要写的内容,也是最后一节

添加任务
展示任务列表

2022-04-17

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:25:00  更:2022-04-18 18:27:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:29:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码