django_cron只运行一次django

时间:2017-08-24 16:16:54

标签: python django cron

抱歉我的英文。我是django的新手,我希望每1分钟发送一次电子邮件。我发现这个solution我遵循它。但我的django_cron只运行一个。

我安装了django_cron,如下所示:pip install django_cron

然后我将应用添加到INSTALLED_APPS

    INSTALLED_APPS = [
       ..
        'django_cron',
'accounts',
    ...

    ]

并添加到设置:

CRON_CLASSES = [
    "accounts.cron.MyCronJob",
]

然后运行python manage.py migrate django_cron

在应用accounts中创建文件cron并添加以下代码:

from django.core.mail import EmailMessage

from django.template.loader import render_to_string
from django_cron import CronJobBase, Schedule


class MyCronJob(CronJobBase):
    RUN_EVERY_MINS = 1

    schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
    code = 'accounts.cron.MyCronJob'    # a unique code

    def do(self):
        print("send message")
        message = render_to_string('cron_file.html', {
            'name': '111'
        })
        mail_subject = 'Congratulations'
        to_email = 'test@gmail.com'

        email = EmailMessage(mail_subject, message, to=[to_email])
        email.send()

然后运行python manage.py runcrons

但是当我调用命令python manage.py runcrons

时,消息只发送一次

0 个答案:

没有答案