【问题标题】:schedule django custom commands with cron inside a virtualenvironment在虚拟环境中使用 Crown 调度 django 自定义命令
【发布时间】:2014-03-24 06:14:20
【问题描述】:

我编写了一个自定义管理命令post_message,当我运行python manage.py post_message 时,该命令执行良好。

现在我希望这个命令每 10 分钟运行一次。

我有一个虚拟环境。

我有一个文件——msg.cron 文件内容如下——

#!SHELL=/bin/bash
*/10 * * * * source /home/username/Envs/project_name/bin/activate && /home/username/Code/project_name/manage.py post_message > /dev/null

我已经在 msg.cron 上完成了 chmod +x

完成后,我添加了

crontab msg.cron

现在当我执行crontab -l 时,msg.cron 的内容就会显示出来。

但是管理命令没有运行,我错过了什么?

【问题讨论】:

  • 尝试不使用source,确保activatemanage.py 是可执行的(第一行是#!<path to interpreter>)。

标签: python django cron virtualenv


【解决方案1】:

在这种情况下,您不需要激活 virtualenv。你可以直接使用virtualenv的bin目录下的python。

*/10 * * * * source /home/username/Envs/project_name/bin/python /home/username/Code/project_name/manage.py post_message > /dev/null

【讨论】:

    猜你喜欢
    • 2015-03-07
    • 2011-05-30
    • 2013-07-28
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2020-10-24
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多