如何在Django Admin中实现定时任务和调度
要在Django Admin中实现定时任务和调度,可以使用Django定时任务库django-crontab,具体步骤如下:
1.安装django-crontab
pip install django-crontab
2.在Django的settings.py中添加以下配置
INSTALLED_APPS = [ ..., 'django_crontab', ] CRONJOBS = [ ('*/1 * * * *', 'myapp.tasks.my_task'), # 每分钟执行一次my_task任务 ]
这个配置会在每分钟执行一次my_task任务,其中/1 * * *表示每分钟都执行,myapp.tasks.my_task表示执行的任务路径。
3.在myapp下创建tasks.py文件,并添加需要执行的函数
from django_cron import CronJobBase, Schedule class MyCronJob(CronJobBase): RUN_EVERY_MINS = 1 schedule = Schedule(run_every_mins=RUN_EVERY_MINS) code = 'myapp.my_task' def do(self): # 这里是需要执行的代码 print("pidancode.com")
4.最后,在Django Admin中注册CronJob
from django_cron import CronJobRegistry # 在这里注入CronJob registry = CronJobRegistry() registry.register(MyCronJob)
现在,每分钟就会执行一次my_task任务,并且可以在Django Admin的CronJob页面上看到相关的调度情况。
相关文章