抱歉我的英文。我是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