python – Celery – 通过命令行或HTTP请求激活任务

python – Celery – 通过命令行或HTTP请求激活任务,第1张

概述我的代码中有一个预定义的celery任务,比如my_proj.tasks.my_celery_task 我想通过命令行/ HTTP请求(而不是通过我的应用程序)激活任务. 我搜索了文件(看到花和卷曲选项),但没有一个真正好的例子,在那里调用预定义的任务.怎么做到这一点? 假设您已经使用Rabbitmq安装了Celery,这是一个简单的示例. 定义任务:my_app.py from celery i 我的代码中有一个预定义的celery任务,比如my_proj.tasks.my_celery_task

我想通过命令行/ http请求(而不是通过我的应用程序)激活任务.

我搜索了文件(看到花和卷曲选项),但没有一个真正好的例子,在那里调用预定义的任务.怎么做到这一点?

解决方法@H_419_15@ 假设您已经使用Rabbitmq安装了Celery,这是一个简单的示例.

定义任务:my_app.py

from celery import Celeryapp = Celery('tasks',backend='amqp',broker='amqp://')@app.taskdef add(x,y):    return x + y

开始一个工人:

celery worker -l info -A my_app

开始花

flower -A my_app

通过命令行将任务添加到队列

curl -X POST -d '{"args":[1,2]}' http://localhost:5555/API/task/async-apply/my_app.add

或通过要求

import requests,JsonAPI_root = 'http://localhost:5555/API'task_API = '{}/task'.format(API_root)args = {'args': [1,2]}url = '{}/async-apply/my_app.add'.format(task_API)print(url)resp = requests.post(url,data=Json.dumps(args))reply = resp.Json()reply
总结

以上是内存溢出为你收集整理的python – Celery – 通过命令行或HTTP请求激活任务全部内容,希望文章能够帮你解决python – Celery – 通过命令行或HTTP请求激活任务所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存