use*_*574 6 python django crontab virtualenv
如何在crontab中运行
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
Run Code Online (Sandbox Code Playgroud)
用虚拟环境?我需要先激活virtualenv(否则它不起作用)
这是我的虚拟环境:
source job/bin/activate
Run Code Online (Sandbox Code Playgroud)
Dir*_*ler 15
编辑:
尝试这样的事情:
*/1 * * * * . /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
Run Code Online (Sandbox Code Playgroud)
这应该被理解为:激活env,如果成功,则执行manage.py脚本.由于manage.py应该有一个python shebang,虚拟env设置正确的python解释器,这应该工作.
显然cron通常运行时/bin/sh不知道source命令.因此,一种选择是使用点作为source替代.另一个/bin/bash在cron文件中设置:
SHELL=/bin/bash
*/1 * * * * source /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
Run Code Online (Sandbox Code Playgroud)
有关此问题的更多信息,请访问:http:
//codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/
文章没有提到source可以替换为a .,但我刚试过它它对我有用.所以你现在有几个选择可供选择,文章甚至还有其他选择.;)
| 归档时间: |
|
| 查看次数: |
4402 次 |
| 最近记录: |