3

我是 django-cron 的新手,正在尝试定期发送邮件。我一直在 db shell 中运行以下命令:

from django.core.mail import EmailMessage
email = EmailMessage('Subject', 'Body', to=['address@mail.com'])
email.send()

效果很好。我在我的一个应用程序中创建了以下 cron.py:

from django_cron import CronJobBase, Schedule
from django.core.mail import EmailMessage

class SendMail(CronJobBase):

    RUN_EVERY_MINS = 1

    schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
    code = 'apps.appname.cron.SendMail'

def job(self):
    email = EmailMessage('Subject', 'Body', to=['address@mail.com'])
    email.send()

在我的设置中,我有:

CRON_CLASSES = [
    "apps.appname.cron.SendMail",
]

最后在命令行中我正在运行

env/bin/python manage.py runcrons --settings=settings.dev

我希望这会每分钟发送一次邮件,但是虽然我没有看到任何命令行错误,但邮件没有被发送。

非常感谢任何帮助

C

4

1 回答 1

0

所以我想我正在查看旧版本的文档。在 SendMail 类中,方法应该是“do”而不是“job”。同时,虽然邮件只发送一次,而不是每分钟发送一次。

于 2013-02-26T17:41:40.950 回答