celery例子实现定时发送邮件
admin
2023-08-02 02:20:07
0

1、配置文件

vi setting.py

#coding:utf-8
import os
from datetime import  timedelta
BROKER_URL = 'redis://127.0.0.1:6379/13'
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/14'
CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_ENABLE_UTC = True
CELERY_TASK_SERIALIZER = 'json' # 任务序列化和反序列化使用msgpack方案
#
CELERY_RESULT_SERIALIZER = 'json' # 读取任务结果一般性能要求不高,所以使用了可读性更好的JSON
#
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 # 任务过期时间,不建议直接写86400,应该让这样的magic数字表述更明显

CELERY_ACCEPT_CONTENT = ['json'] # 指定接受的内容类型
CELERYBEAT_SCHEDULE = {

    'send_mail': {

        'task': 'celery_test.tasks.send_mail',

       'schedule': timedelta(seconds=10),

    }
}

2、函数模块

vi tasks.py

#coding:utf-8
from server import app
import random,string,smtplib
@app.task
def send_mail():
        SUBJECT="临时登录密码"
        HOST="smtp.163.com"
        # TO=mail
        TO='456@qq.com'
        FROM="123@163.com"
        text=str(random.randint(1000,9999))
        BODY=string.join((

        "From:%s"%FROM,

        "To:%s"%TO,

        "Subject:%s"%SUBJECT,

        "",text),"\r\n")

        server=smtplib.SMTP(HOST)

        server.login("123@qq.com","第三方发送验证码")

        server.sendmail(FROM,[TO],BODY)
        server.quit()
        return True

3、启动模块

vi server.py

from  celery import Celery
app=Celery('celery_test',include=['celery_test.tasks'])
app.config_from_object('celery_test.setting')

if __name__=='__main__':
    app.start()


4、启动worker,执行任务

celery -A celery_test.server worker -l info


5、启动beat,生成任务

celery -A celery_test.server beat


6、目录结构

celery_test/{server.py,setting.py,tasks.py}


celery例子实现定时发送邮件

相关内容

热门资讯

4K视频存储卡推荐:三星T9,... 解锁4K视频拍摄新体验,三星T9 microSD存储卡成首选 在当下,自媒体内容创作蓬勃发展,运...
保值水平什么情况长期持有更稳妥... 在汽车消费中,很多人会考虑车辆的保值水平。而对于长期持有车辆的情况,了解何时更稳妥显得尤为重要。 首...
人民日报:朝鲜社会主义建设焕发... 朝鲜社会主义建设焕发蓬勃生机本报记者 刘 融 《人民日报》(2026年07月10日 第 03 版)近...
印度制造史诗级大活!20万文件... 20万份文件,630G的数据,全被黑客丢到了网上, 苹果疯了,整个手机圈炸了。 就在6月份,苹果公司...
“花坛藏尸案”今开庭,受害人儿... 1997年,目送母亲出门的10岁男孩,在无尽流浪与漫长寻找中熬成人父;2025年6月7日,商场翻修,...
内存价格失控,千元机不再是旗舰... 文 | 识礁 内存价格持续上涨,正将千元机推向前所未有的成本困境。 2026年7月2日,小米集团合...
外媒:SpaceX欲拓展“星链... 参考消息网7月9日报道据《日本经济新闻》网站7月1日报道,凭借在卫星与智能手机直接通信服务方面已经建...
伊朗:已发射10枚弹道导弹,打... 据伊朗塔斯尼姆通讯社7月9日消息,伊朗伊斯兰革命卫队表示,已向位于西亚的美国指挥控制中心和位于约旦的...
离谱!欧盟反倾销盯上“北京烤鸭... 继电动汽车之后,欧盟又将贸易调查矛头指向中国农产品。据英国《金融时报》当地时间7月10日报道,欧盟委...
美国授权乌克兰自产“爱国者”?... 【环球时报驻美国特约记者 冯亚仁 环球时报特约记者 柳玉鹏 景宽】当地时间8日,美国总统特朗普在土耳...