Django crontab无法在后台运行

时间:2019-03-01 06:56:18

标签: python django cron django-cron

作为项目的一部分,我正在使用django-crontab运行一些cron作业。我为此特定项目设置了虚拟环境。

因此,在激活环境之后,我使用以下命令添加作业:

python manage.py crontab add

我看到我的作业已成功添加到操作系统crontab中,但是,当我看到日志时,发现它无法找到虚拟环境中安装的某些模块(读取所有模块)。

但是,如果我通过将哈希传递给run命令来手动运行这些cron,它将成功运行。

在进一步检查中,我发现将crons添加到crontab时,python二进制文件指向全局(系统级二进制文件),而不是虚拟级二进制文件。

我唯一想到的解决方案是在系统级别运行pip install,但这会弄乱我打算创建的sanbox环境。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

django-crontab已不再维护。该库的最新更改发生在2年前。我真的建议停止使用它。

要修复该错误,您可以使用CRONTAB_PYTHON_EXECUTABLE设置从环境中指向python可执行文件,也可以使用CRONTAB_COMMAND_PREFIX添加一些可以在运行python之前激活该virtualenv的东西。