我正在使用django_cron调度作业,当我使用python manage.py runcrons时,这项工作很好。但在ubuntu中添加cron作业后,cron list作业不会执行。我的setting.py是:
CRON_CLASSES = [
"home.cron.HomeCronJob",
]
FAILED_RUNS_CRONJOB_EMAIL_PREFIX = []
INSTALLED_APPS = (
'django.contrib.auth',
'..................'
'django_cron',
)我的cron.py文件是:
from django_cron import CronJobBase, Schedule
from home.management.commands.auto_renueva import republishAds
class HomeCronJob(CronJobBase):
RUN_EVERY_MINS = 2
MIN_NUM_FAILURES = 2
schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
code = 'home.home_cron_job'
def do(self):
republishAds()然后,我已经创建了一个用于运行此作业的shell脚本cron.sh:
#! /bin/bash
source /home/cis/ENV/muna/bin/activate
python /home/cis/DjangoLive/Newmunda/mund2anuncios/manage.py runcrons
deactivate我在ubuntu cron文件中添加的代码是:
*/1 * * * * /home/cis/DjangoLive/Newmunda/mund2anuncios/crons.sh >> /home/cis/Desktop/crons.log 3 >> /home/cis/Desktop/cron_errors.log请告诉我这里我做错了什么。
提前感谢
发布于 2014-03-03 23:08:20
作为猜测
python /home/cis/DjangoLive/Newmunda/mund2anuncios/manage.py runcrons将失败,因为在cron环境中未设置路径。您应该包含python解释器的完整路径。
cron作业中的其他常见错误是没有对脚本的执行权限。通常,cron错误会通过电子邮件发送到root,因此您应该了解有关root邮箱中错误的更多信息
https://stackoverflow.com/questions/22149606
复制相似问题