我得到了在这个post中描述的完全相同的问题,但答案一点帮助都没有。简而言之,我使用的是Tivix django-cron,cron作业没有定期运行。
为了说明这个问题,下面的cron作业类打算在运行runcrons命令后每分钟发送一次电子邮件。但实际上,它只发送一封电子邮件,不会再发送。这违背了cron的目的。我遗漏了什么?
class TestCron(CronJobBase):
schedule = Schedule(run_every_mins=1)
code = 'test_cron_philip'
def do(self):
send_mail('cron test', 'body is test body', 'coach_zhong@163.com',
['admin@dessert.webfactional.com'],fail_silently=False)发布于 2013-07-15 15:43:46
是的,你遗漏了一些东西("runcrons“不是后台守护程序)。来自文档:
“现在,每次您运行管理命令python manage.py runcrons时,如果需要,所有的cron都会运行。根据应用程序的不同,可以根据需要从Unix crontab调用管理命令。通常每5分钟对我的大多数应用程序有效。”
这意味着你必须把"runcrons“命令放在你的crontab中。
示例:
你有一些每30分钟做一些事情的CronJob。
要让它运行,你必须编辑你的python crontab (linux,mac)或者任务调度程序 (windows),让它每隔1分钟运行一次“ manage.py runcrons”。
如果你让它运行,你的CronJob将每隔1分钟被pinged一次,并在必要时运行(每30分钟或你设置的任何值)。
希望这能有所帮助。
https://stackoverflow.com/questions/17645150
复制相似问题