3

私はdjango-cronを初めて使用し、定期的にメールを送信しようとしています。私はdbシェルで以下を実行しています:

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

これは正常に動作します。私のアプリの1つで次の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クラスでは、メソッドは「job」ではなく「do」である必要があります。同時に、メールは毎分ではなく一度だけ送信されますが。

于 2013-02-26T17:41:40.950 に答える