我有2个不同的Python应用程序使用Celery连接到同一个代理。
服务器A 拥有我的所有@tasks,但我需要从服务器B 执行此任务。我无法执行标准导入任务,因为它在服务器B上不存在。
如果在服务器B的Celery中,我是否可以仅在服务器A上运行任务?
即。
服务器B:
from tasksFromSeverA import add
add.delay(4, 4)
Celery中是否有一些东西允许你发送一个信号来表示一个名为“添加”的任务。给经纪人?
答案 0 :(得分:1)
据我所知,您无法在服务器B"中执行任务。未在"服务器B"。
中实施您可以做的是在"服务器A"中执行任务。来自"服务器B"。您可以使用send_task函数实现此目的,如以下链接中所述:
http://celery.readthedocs.org/en/latest/faq.html#can-i-call-a-task-by-name