django-crontab定时任务

django-crontab实现定时任务

1 django-crontab安装

  • django-crontab安装
    django-crontab加入:只需要将INSTALLED_APPS即可。如下代码:

    INSTALLED_APPS = (
    'django_crontab',
    ...
    )

2 django-crontab配置

django-crontab可以定时运行自定义命令和函数两种方式,因为之前尝试用command+crontab时已经实现了自定义command,所以自然而然使用了自定义命令这种形式。

2.1 django-crontab定时运行命令

我先参考Django官方文档自定义了一个命令 其次,我在 意思就是每天11点47分运行 2.2 django-crontab定时运行函数

django-crontab也可以定时运行函数,只是在CRONJOBS关于函数的配置如下:

CRONJOBS = (
    # 初级模式
    ('*/5 * * * *', 'myproject.myapp.cron.my_scheduled_job'),

    # 中级模式
    ('0   0 1 * *', 'myproject.myapp.cron.my_scheduled_job', '> /tmp/last_scheduled_job.log'),

    #高级模式
    ('0   0 * * 0', 'django.core.management.call_command', ['dumpdata', 'auth'], {'indent': 4}, '> /home/john/backups/last_sunday_auth_backup.json'),
)

分析结果:

  • 初级模式很直观,意思就是每五分钟执行一次my_scheduled_job的结果输出到文件['dumpdata', 'auth']4}都是参数,只是{}中的参数指定了变量名称,最后一个也是输出结果的后缀。

3 django-crontab任务加载


写好任务后,想让任务运行,执行python manage.py crontab add 把任务添加到crontab中

Python manage.py remove                             移除任务

python manage.py show                                 查看当前系统中的定时任务

tail -f   /var/log/cron                                            查看定时任务的log

原文链接 http://www.aiuxian.com/article/p-3187478.html

原文地址:https://www.cnblogs.com/zknublx/p/6017092.html