有人知道如何安排Django脚本在特定日期和时间运行吗?
示例:
用户在前端输入某人的联系信息,Django后端接收表单数据,但直到48小时后才向联系人发送电子邮件。
有人有主意吗?我看到了Cron,但看起来Cron需要执行,而不是自动执行它自己?只需要帮助学习日程安排功能。
使用以下命令安装django-crontab
pip install django-crontab
在django项目的settings.py文件中,
INSTALLED_APPS = [
'django_crontab',
...
]
在django的项目中的任何位置创建一个文件,例如myapp/cron.py,并定义要通过cron自动执行的函数
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
您需要使用一些后台任务管理器和调度程序。
Celery用于管理和执行任务,Celery Beat将帮助安排定期任务或cron,并将在给定时间执行。