Django Celery 调度 manage.py 命令

不点 阅读:78 2025-06-02 22:19:02 评论:0

我需要使用以下命令按计划更新 solr 索引:

(env)$ ./manage.py update_index 

我已经浏览了 Celery 文档并找到了有关调度的信息,但无法找到一种方法来按计划和在 virtualenv 中运行 django 管理命令。这会更好地运行在普通的 cron 上吗?如果是这样,我将如何在 virtualenv 中运行它?任何人都有这方面的经验?

谢谢您的帮助!

请您参考如下方法:

要从 cron 作业定期运行您的命令,只需将该命令包装在加载 virtualenv 的 bash 脚本中。例如,这是我们运行 manage.py 命令的操作:

django_cmd.sh:

#!/bin/bash 
 
cd /var/www/website/ 
source venv/bin/activate 
/var/www/website/manage.py $1 --settings=$2 

定时盘:
MAILTO=webmaster@website.com 
SETTINGSMODULE=website.settings_prod 
5 * * * * /var/www/website/django_cmd.sh update_index $SETTINGSMODULE >> /dev/null 
0 10 * * * /var/www/website/django_cmd.sh update_accounts $SETTINGSMODULE  


标签:Django
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号