python - Django crontab 不在后台工作
问题描述
django-crontab
作为我项目的一部分,我正在运行一些 cron 作业。我为这个特定项目设置了一个虚拟环境。
因此,在激活环境后,我使用以下命令添加作业:
python manage.py crontab add
我看到我的作业已成功添加到操作系统 crontab,但是当我看到日志时,我发现它无法找到安装在虚拟环境中的某些模块(阅读全部)。
但是,如果我通过将哈希传递给运行命令来手动运行这些 cron,它会成功运行。
经过进一步检查,我发现将 crons 添加到 crontab 时,python 二进制文件指向全局(系统级二进制文件)而不是虚拟级二进制文件。
我能想到的唯一解决方案是在系统级别运行 pip install ,但这会弄乱我打算创建的 sanbox 环境。
有任何想法吗?
解决方案
django-crontab
不再维护。该库的最后一次更改发生在 2 年前。我真的建议停止使用它。
为了修复该错误,您可以使用任CRONTAB_PYTHON_EXECUTABLE
一设置从您的环境中指向 python 可执行文件,或者CRONTAB_COMMAND_PREFIX
添加一些将在运行 python 之前激活此 virtualenv 的内容。
推荐阅读
- bulletphysics - 为什么禁用世界重力对移动刚体没有影响?
- bash - 使用 Bash 输出日期格式
- python - 从列表中切片字符串时无法使用此条件 [python]
- asp.net - Azure ASP.NET REST API 和数据库部署
- r - ggplot2 使用列值作为图例
- mongodb - 如何有效地循环遍历 MongoDB 集合以更新序列列?
- amazon-web-services - AWS Amplify: AmplifyException 'You are not authorized to make this call.'
- python - NumPy fast iteration trough image
- python-3.x - Visual studio code Python execution
- r - R studio:分解/旋转数据框以计算每个组在不同时间段的每个变量的平均值