1, vi的任务。py
#编码:utf - 8 得到server import 应用 import 随机字符串,smtplib @app.task def 添加(x, y): ,,,return x + y @app.task def send_mail (): ,,,,,,,主题=傲偈钡锹济苈搿? ,,,,,,,主机=" smtp.163.com " ,,,,,,,#,=密码(“配置”)(“电子邮件”) ,,,,,,,=?235 @qq.com” ,,,,,,,从=?56 @163.com” ,,,,,,,文本=str (random.randint (1000、9999)) ,,,,,,,身体=string.join (( ,,,,,,,”:% s %, ,,,,,,,”:% s %, ,,,,,,,”主题:% s %, ,,,,,,,”,文本),“\ r \ n”) ,,,,,,,=smtplib.SMTP服务器(主机) ,,,,,,,server.login (“456 @163.com”、“第三方发送验证码”) ,,,,,,,server.sendmail([],身体) ,,,,,,,server.quit ()
2, vi设置。py
#编码:utf - 8 得到datetime import  timedelta 得到kombu import 交换,队列 时间=BROKER_URL “复述://127.0.0.1:6379/13” 时间=CELERY_RESULT_BACKEND “复述://127.0.0.1:6379/14” 时间=CELERY_TIMEZONE “亚洲/上海” CELERY_ENABLE_UTC =,真的 时间=CELERY_TASK_SERIALIZER “json”, #,任务序列化和反序列化使用msgpack方案 时间=CELERY_RESULT_SERIALIZER “json”, #,读取任务结果一般性能要求不高,所以使用了可读性更好的json=#,CELERY_TASK_RESULT_EXPIRES 60, *, 60, *, 24日,#,任务过期时间,不建议直接写86400,应该让这样的魔法数字表述更明显 CELERY_ACCEPT_CONTENT =, (' json), #,指定接受的内容类型 CELERY_QUEUES =, ( ,,,队列(“违约”,交换(“违约”),routing_key=拔ピ肌?, ,,,队列(for_add,,交换(“for_task_add”), routing_key=' for_task_add '), ,,,队列(for_send_email,,交换(“for_task_email”), routing_key=' for_task_email '), ) CELERY_ROUTES =, { ,,,“celery_test.tasks.add”:,{“队列”:,“for_add”,,“routing_key”:,“for_task_add”}, ,,,“celery_test.tasks.send_mail”:,{“队列”:,“for_send_email”,,“routing_key”:,“for_task_email”}, } CELERYBEAT_SCHEDULE =, { ,,,“send_mail”:, { ,,,,,,,“任务”:,“celery_test.tasks.send_mail”, ,,,,,,,“安排”:,timedelta(秒=30), ,,,},,,, ,,,“添加”:,{ ,,,,,,,“任务”:,“celery_test.tasks.add”, ,,,,,,,“安排”:,timedelta(秒=10), ,,,,,,,“参数”:(16日,16) ,,,} }
3, vi服务器。py
<>之前得到celery import 芹菜 应用=芹菜(“celery_test”,包括=[' celery_test.tasks ']) app.config_from_object (“celery_test.setting”) if __name__==癬_main__”: ,,,app.start ()4,启动
,芹菜——celery_test。服务器工人- l信息- q for_send_email
,芹菜——celery_test。服务器工人- l信息- q for_add
,芹菜——celery_test。服务器击败
5,通过花监控
pip install 花
celery flower ——端口=5555,——代理=复述://localhost: 6379/0
6日访问
127.0.0.1:5555