昆山做网站的个人,wordpress 顶端加代码,wordpress上传更新,抄袭网站设计定时任务可以在后台定时执行指定的代码#xff0c;避免了很多人为操作。下面是在Django项目中如何使用定时任务的具体操作流程。
我在这里使用的 django-apscheduler库来实现定时任务。
一、安装 django-apscheduler
pip install django-apscheduler二、在项目的setting.py…
定时任务可以在后台定时执行指定的代码避免了很多人为操作。下面是在Django项目中如何使用定时任务的具体操作流程。
我在这里使用的 django-apscheduler库来实现定时任务。
一、安装 django-apscheduler
pip install django-apscheduler二、在项目的setting.py文件中修改配置
在INSTALLED_APPS 中添加 django_apscheduler 项。 三、通过命令生成定时任务记录表
在项目根目录分别执行以下命令
1、根据数据库模型生成迁移文件
python manage.py makemigrations
2、执行迁移文件
python manage.py migrate
执行完以上两个命令后在默认的数据库中会生成两个表django_apscheduler_djangojobexecution 和 django_apscheduler_djangojob. 四、我一般是在项目中新建一个py文件将所有需要定时执行的任务都保存在这个文件中。
比如我在项目的until目录中新建一个time.py文件。 打开这个文件将以下代码复制到文件中。
from django.shortcuts import render# Create your views here.
from apscheduler.schedulers.background import BackgroundScheduler
from django_apscheduler.jobstores import DjangoJobStore, register_job
from until import logg
from app1 import tests# 实例化调度器
scheduler BackgroundScheduler()
# 调度器使用默认的DjangoJobStore()
scheduler.add_jobstore(DjangoJobStore(), default)# 30秒循环执行
register_job(scheduler, interval, idtest, seconds30,args[test], replace_existingTrue)
def test(s):tests.adddata()logg.info(30秒到了开始执行)# 每天八点半定时执行
register_job(scheduler, cron, idtest1,hour8, minute30, args[test], replace_existingTrue)
def test1(s):logg.info(开始执行)# 单次定时执行
register_job(scheduler, date, idtest2, run_date2024-06-10 06:06:06,args[test], replace_existingTrue)
def test2(s):logg.info(30秒到了开始执行)# 注册定时任务并开始
scheduler.start()
根据注释修改对应的定时任务和所要执行的方法就行。
主要的配置是触发器中的时间配置。可以参考以下参数。
date任务只会执行一次。特定的时间点触发。
run_date (datetime 或 str) 作业的运行日期或时间
timezone (datetime.tzinfo 或 str) 指定时区
interval固定时间间隔触发。
weeks (int) 间隔几周
days (int) 间隔几天
hours (int) 间隔几小时
minutes (int) 间隔几分钟
seconds (int) 间隔多少秒
start_date (datetime 或 str) 开始日期
end_date (datetime 或 str) 结束日期
timezone (datetime.tzinfo 或str) 时区
cron在特定时间周期性地触发和Linux crontab格式兼容。
year (int 或 str) 年4位数字
month (int 或 str) 月 (范围1-12)
day (int 或 str) 日 (范围1-31
week (int 或 str) 周 (范围1-53)
day_of_week (int 或 str) 周内第几天或者星期几 (范围0-6 或者 mon,tue,wed,thu,fri,sat,sun)
hour (int 或 str) 时 (范围0-23)
minute (int 或 str) 分 (范围0-59)
second (int 或 str) 秒 (范围0-59)
start_date (datetime 或 str) 最早开始日期(包含)
end_date (datetime 或 str) 最晚结束时间(包含)
timezone (datetime.tzinfo 或str) 指定时区
五、配置好定时任务以后需要在setting.py同目录的urls文件中引入刚才的文件
from until import ttime 六、然后就可以启动项目了到时间就可以看到定时任务执行了。