我是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
答案 0 :(得分:0)
所以我认为我正在查看较旧版本的文档。在SendMail类中,该方法应该是“do”而不是“job”。同时,邮件只发送一次而不是每分钟发送一次。