本文主要是介绍celery远程调用其他服务器上的任务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Celery
可以通过send_task
调用发起其他服务器上的任务,但是需要连接上同一个broker
前提:
服务器A已经运行了celery的worker以及beat服务,现在服务器B,需要发起A上的任务say_hello
服务器B的关键代码如下:
from celery import Celery
from ./algo_celery_config import CeleryConfigtry:data = {"a": "111", "b": "222"}app = Celery('tasks')# 此处的 celeryConfig 即 服务器A 上的配置,可以完全复制过来app.config_from_object(CeleryConfig)# 1. 此处 send_task(), 直接使用任务的名称,之前使用 tasks.say_hello 没有成功# 2. 如果有 queue ,建议指定# 3. 可以直接传参数的app.send_task('say_hello', queue='task_queue', kwargs=data )
except:print("error")
如上,即可远程调用celery任务
这篇关于celery远程调用其他服务器上的任务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!