Django crontab 不在后台运行

Django crontab is not working in background

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

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

python manage.py crontab add

我看到我的作业已成功添加到 OS crontab,但是当我看到日志时,我发现它无法找到安装在虚拟环境中的某些模块(读取全部) .

但是,如果我 运行 通过将散列传递给 运行 命令手动 运行 这些 cron,它会 运行 成功。

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

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

有什么想法吗?

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

为了修复该错误,您可以使用 CRONTAB_PYTHON_EXECUTABLE 设置从您的环境指向 python 可执行文件,或者 CRONTAB_COMMAND_PREFIX 添加一些东西,在 运行 python.