celeryqueue-创新互联
1、vi tasks.py

#coding:utf-8
from server import app
import random,string,smtplib
@app.task
def add(x,y):
return x+y
@app.task
def send_mail():
SUBJECT="临时登录密码"
HOST="smtp.163.com"
# TO=passwords['config']['email']
TO='1235@qq.com'
FROM="456@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("456@163.com","第三方发送验证码")
server.sendmail(FROM,[TO],BODY)
server.quit()2、vi setting.py
#coding:utf-8
from datetime import timedelta
from kombu import Exchange, Queue
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'] # 指定接受的内容类型
CELERY_QUEUES = (
Queue('default', Exchange('default'), routing_key='default'),
Queue('for_add', Exchange('for_task_add'), routing_key='for_task_add'),
Queue('for_send_email', Exchange('for_task_email'), routing_key='for_task_email'),
)
CELERY_ROUTES = {
'celery_test.tasks.add': {'queue': 'for_add', 'routing_key': 'for_task_add'},
'celery_test.tasks.send_mail': {'queue': 'for_send_email', 'routing_key': 'for_task_email'},
}
CELERYBEAT_SCHEDULE = {
'send_mail': {
'task': 'celery_test.tasks.send_mail',
'schedule': timedelta(seconds=30),
} ,
'add': {
'task': 'celery_test.tasks.add',
'schedule': timedelta(seconds=10),
'args':(16,16)
}
}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、启动
celery -A celery_test.server worker -l info -Q for_send_email
celery -A celery_test.server worker -l info -Q for_add
celery -A celery_test.server beat
5、通过flower监控
pip install flower
celery flower --port=5555 --broker=redis://localhost:6379/0
6、访问
127.0.0.1:5555
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:celeryqueue-创新互联
URL标题:http://www.jxjierui.cn/article/codpos.html


咨询
建站咨询
