Celery的Crontab表达式中的:DEBUG leads to a memory leak, never use this setting in production environments!
直接上代码演示
#导包
from celery.task.schedules import crontab
from celery.decorators import periodic_task
#利用celery 的定时任务 celery的crontab表达式
@periodic_task(run_every=crontab(hour=20))
def some_task():
#实例化一个对象
sendmail = SendMail('每天必发','晚安',['[email protected]'],DEFAULT_FROM_EMAIL)
status = sendmail.do_send_mail()
if status:
print('发送邮件')
else:
print('发送失败')
print('执行完毕')
return True
这是一个自动定时发送qq邮箱的脚本但是中间启动服务的时候出了几个小出错误
这里的debug是说 :userwarning:使用settings.debug会导致内存泄漏,请不要在生产环境中使用此设置!所以我们就要在settings配置文件中把debug改为False
然后它有时候还会报一个pid已经存在 ,所以这时候我们就需要把celerybeat.pid删除重启项目
最后因为时区的原因,settings配置需要改一下时区