我正在尝试用芹菜构建一个分布式作业执行系统。
当我在一台机器(本地主机)上启动 2 个工作人员时,其中一个用于加法任务add
,另一个用于减法任务sub
,然后用于add.delay()
启动多个加法任务,减法工作人员的终端出现错误:
[2013-03-05 15:51:18,898: ERROR/MainProcess] Received unregistered task of type 'add_tasks.add'.
在这个测试中,我启动了 2 个加法任务:一个被加法工作者捕获,另一个被减法工作者捕获,这导致了上面的错误。如何更改配置以使减法工作人员不会捕获第二个加法任务?谢谢。
这是代码:
add_tasks.py:
celery = Celery('add_tasks', backend='amqp', broker='amqp://guest@localhost//')
@celery.task
def add(x, y):
sleep(20)
return x + y
sub_tasks.py:
celery = Celery('sub_tasks', backend='amqp', broker='amqp://guest@localhost//')
@celery.task
def sub(x, y):
sleep(10)
return x - y
我通过 localhost 机器的两个终端启动了工作celery -A add_tasks worker --loglevel=info -n worker1
人员celery -A sub_tasks worker --loglevel=info -n worker2
。