我在django项目中设置django-crontab时遇到了一些问题。我已按照官方文档中的说明进行操作:- https://pypi.python.org/pypi/django-crontab
我已经在一个名为ciscoaci的应用程序下定义了我的 cron.py。所以它的位置是project/ciscoaci(这是app(/cron.py。在 cron.py 里面,是一个名为 sshpostGetMACIP_scheduler(( 的函数。我在INSTALLED_APPS的 settings.py 下定义了"django_crontab"。
CRONTAB_COMMAND_SUFFIX = '2>&1'
CRONJOBS = [
('*/1 * * * *', 'ciscoaci.cron.sshpostGetMACIP_scheduler', '>> /axphome/xxx/netadc/ciscoaci/tmp/scheduled_job.log'),
]
我的日志中没有显示任何内容。我也尝试将/axphome/xxx/netadc/ciscoaci/tmp/scheduled_job.log 更改为 ciscoaci/tmp/scheduled_job.log 但它不起作用。
同样,当我做 crontab -l 时,cron 会出现。
*/1 * * * * /root/.venvs/netadc/bin/python /home/xxx/netadc/manage.py crontab run 4a2a96ea204eb26917961a9946493f0d >> /axphome/xxxx/netadc/ciscoaci/tmp/scheduled_job.log 2>&1 # django-cronjobs for netadc
但是我的日志中没有显示任何内容。任何帮助将不胜感激。此时我不想使用芹菜,因为这用于我项目中的临时功能。
你可以使用 django-q 来做到这一点。你直接在后台有调度程序,比django-crontab更容易设置,而且不涉及你的系统crontab,而是直接存储在你的数据库中。
我认为日志花费了一些时间,或者可能是我没有再次添加 cron-tab add 命令。它现在工作正常。
试试这个CRONJOBS = [ ('*/1 * * * *', 'ciscoaci.cron.sshpostGetMACIP_scheduler', '>>'+ os.path.join(BASE_DIR, 'data.log'(,]