使用 celery 创建异步任务时, 发现了调用 task_sms 的时候 delay 并没有执行函数

2020-06-09 16:54:47 +08:00
 diwuqin

def send_sms(mobile: str, content: str, templateId: str): """发送短信""" values = { 'accesskey': accesskey, 'secret': secret, 'sign': sign, 'templateId': templateId, 'mobile': mobile, 'content': content, }

data = urllib.parse.urlencode(values)
new_url = url + "?" + data
res = urllib.request.urlopen(new_url)
res_json = json.loads(res.read().decode('utf-8'))
return res_json

@celery_app.task(name='task_sms') def task_sms(phone, num): """任务派发短信通知""" result = send_sms(phone, num, task_templateId) print(result) return result

if name == 'main': import time

start = time.time()
send_community_sms.delay("18888888888", '{}##{}'.format('1111111111', '111111111111111'))
res = send_community_sms.delay("18888888888", '{}##{}'.format('1111111111', '111111111111111'))
print(res)

config.py from celery import Celery BROKER = 'redis://127.0.0.1:6379/4' BACKEND = 'redis://127.0.0.1:6379/5'

创建 celery 应用对象

celery_app = Celery("baoanliezha", broker=BROKER, backend=BACKEND)

搜索 celery 异步任务

celery_app.autodiscover_tasks([ "celery_tasks.sms", ])

最后 res 打印返回 22bd44e2-8eeb-4e6e-aac6-1242b750b602

1433 次点击
所在节点    Python
3 条回复
diwuqin
2020-06-09 16:55:39 +08:00
我靠怎么没有转行呢....
zouri
2020-06-09 17:26:21 +08:00
你为啥不舍得排版一下代码呢
diwuqin
2020-06-10 15:11:44 +08:00
@zouri 我写的时候好像是排的, 结果发出来成这了...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680068

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX