我在我的一个名为 test_cron_command 的Django应用程序中有一个自定义命令,我希望使用crontab运行该命令。我在我的开发环境中运行它,这是一个virtualenv中的os x Mavericks。我阅读了许多引用,证明可以使用简单的crontab行(example)来完成。但是我无法让它发挥作用。
此crontab导致以下错误:
DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
DJANGO_SETTINGS_MODULE=boilerroom.settings
55 15 * * * cd /Users/rs/devel_web/virtenv/boilerroom/ && /Users/rs/devel_web/virtenv/dj155_py27/bin/python2.7 /Users/rs/devel_web/virtenv/boilerroom/manage.py test_cron_command
包含错误消息的邮件:
X-Cron-Env: <DYLD_LIBRARY_PATH=/usr/local/mysql/lib/>
X-Cron-Env: <DJANGO_SETTINGS_MODULE=boilerroom.settings>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=rs>
X-Cron-Env: <USER=rs>
X-Cron-Env: <HOME=/Users/rs>
Message-Id: <20140704195511.8DDAE2CE8374@tm1.local>
Date: Fri, 4 Jul 2014 15:55:10 -0400 (EDT)
/Users/rs/devel_web/virtenv/dj155_py27/lib/python2.7/site-packages/numexpr-2.4.1.dev-py2.7-macosx-10.9-intel.egg/numexpr/cpuinfo.py:75: UserWarning: [Errno 2] No such file or directory
stacklevel=stacklevel + 1):
非常感谢任何帮助。
答案 0 :(得分:0)
您是否尝试激活和停用virtualenv而不是指定Python二进制文件?像这样:
55 15 * * * source /Users/rs/devel_web/virtenv/dj155_py27/bin/activate && cd /Users/rs/devel_web/virtenv/boilerroom/ && python manage.py test_cron_command && deactivate
顺便说一句,我不太清楚你为什么把你的代码放在virtenv文件夹中,你可以把它分开。