繁体   English   中英

在 Django 中安排自动化作业

[英]Schedule automated jobs in Django

任何人都知道如何安排 Django 脚本在某个日期和时间运行?

例子:

用户在前端输入某人的联系信息,Django 后端接收表单数据,但直到 48 小时后才向联系人发送 email。

有人有想法吗? 我看到了 Cron,但看起来 Cron 需要执行并且不会自行自动执行? 只需要帮助学习调度功能。

您需要使用一些后台任务管理器和调度程序。

Celery用于管理和执行任务, Celery Beat将有助于安排周期性任务或 cron 并将在给定时间执行。

使用以下命令安装 django-crontab

 pip install django-crontab
   

在您的 django 项目的 settings.py 文件中,

INSTALLED_APPS = [
'django_crontab',
...
] 

在您的 django 项目中的任何位置创建一个文件,例如 myapp/cron.py 并定义您希望通过 cron 自动执行的 function

def my_cron_job():
    # your functionality goes here 

将以下行添加到您的 django 项目的 settings.py 文件[这是每两分钟的 cron 作业]

CRONJOBS = [
    ('*/2 * * * *', 'myapp.cron.my_cron_job')
]

添加所有定义的 CRONJOBS

python manage.py crontab add

获取所有活跃的 CRONJOBS

python manage.py crontab show

删除所有定义的 CRONJOBS

python manage.py crontab remove

列出所有活动的 cron

crontab -l

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM