如何使用Tivix django-cron app

时间:2013-07-15 00:25:25

标签: django cron django-cron

我遇到了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)

1 个答案:

答案 0 :(得分:8)

是的,你错过了一些东西(“runcrons”不是背景deamon)。来自文档:

  

“现在每次运行管理命令python manage.py   runcrons所有的crons将运行如果需要。取决于   应用程序管理命令可以从Unix crontab中调用   根据需要经常。每隔5分钟通常适用于我的大部分时间   应用。“

这意味着你必须在你的crontab中输入“runcrons”命令。

示例:

你有一些CronJob每30分钟做一次事。

要实现此功能,您必须编辑 crontab (linux,mac)或任务计划程序(windows)以便为每个人运行“python manage.py runcrons”,让说1分钟。

如果你开始运行,你的CronJob将每隔1分钟打一次并在必要时运行(每30分钟或你设定的任何值)。

希望这有帮助。