我查看了两者的文档,但不确定给定应用程序的最佳选择是什么。我仔细研究了芹菜,因此将以这些术语给出示例。
我的用例类似于这个问题,每个工作人员远程加载一个大文件(每台机器一个文件),但是我还需要工作人员包含持久对象。因此,如果工作人员完成任务并返回结果,然后再次调用,我需要为新任务使用先前创建的变量。
在每个任务调用中重复创建对象太浪费了。我还没有看到一个 celery 的例子让我相信这是可能的,我希望使用worker_init 信号来完成这个。
最后,我需要一个中央集线器来跟踪所有工人在做什么。这似乎暗示了一种客户端-服务器架构,而不是 Celery 提供的架构,这是正确的吗?如果是这样,考虑到要求,IPython Parallel 会是一个不错的选择吗?