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邮箱的脚本但是中间启动服务的时候出了几个小出错误

Celery的Crontab表达式中的:DEBUG leads to a memory leak, never use this setting in production environments!

这里的debug是说 :userwarning:使用settings.debug会导致内存泄漏,请不要在生产环境中使用此设置!所以我们就要在settings配置文件中把debug改为False

Celery的Crontab表达式中的:DEBUG leads to a memory leak, never use this setting in production environments!

然后它有时候还会报一个pid已经存在 ,所以这时候我们就需要把celerybeat.pid删除重启项目
Celery的Crontab表达式中的:DEBUG leads to a memory leak, never use this setting in production environments!

最后因为时区的原因,settings配置需要改一下时区

Celery的Crontab表达式中的:DEBUG leads to a memory leak, never use this setting in production environments!