【问题标题】:How to run tasks from another server using Celery?如何使用 Celery 从另一台服务器运行任务?
【发布时间】:2014-08-29 12:30:51
【问题描述】:

我有 2 个使用 Celery 的不同 Python 应用程序连接到同一个代理。

服务器 A 拥有我所有的 @tasks,但我需要从 服务器 B 执行这些任务。我无法执行标准导入任务,因为它在服务器 B 上不存在。

如何在服务器 B 的 Celery 中运行仅存在于服务器 A 上的任务?

服务器 B:

from tasksFromSeverA import add
add.delay(4, 4)

Celery 中有什么东西可以让你发送一个信号来运行一个名为“添加”的任务到代理吗?

【问题讨论】:

  • 嘿@Prometheus,你有什么优化的解决方案吗?

标签: python django celery


【解决方案1】:

据我所知,您无法在“服务器 B”中执行未在“服务器 B”中实现的任务。

您可以做的是从“服务器 B”执行“服务器 A”中的任务。您可以使用 send_task 函数来实现这一点,如此链接中所述:

http://celery.readthedocs.org/en/latest/faq.html#can-i-call-a-task-by-name

【讨论】:

  • 发送的任务是我所追求的,也许我没有很好地解释这一点。谢谢你的链接。现在我知道它叫什么了。
猜你喜欢
  • 2023-03-13
  • 2021-02-05
  • 2019-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 2017-02-26
相关资源
最近更新 更多