如何使用Tivix django-cron app

Phi*_*007 5 django cron django-cron

我在这篇文章中描述了完全相同的问题,但答案根本没有帮助.简而言之,我使用的是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)
Run Code Online (Sandbox Code Playgroud)

小智 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分钟或你设置的任何值).

希望这可以帮助.