Я новичок в сельдерее.Я использовал три очереди в сельдерее, и он работал нормально.Я запустил сельдерей следующим образом:
celery worker -A bdjsms -l debug -Q "swiftapi,swiftsms,celery"
Но теперь мне нужно еще две очереди, и я попытался запустить сельдерей следующим образом:
celery worker -A bdjsms -l debug -Q "swiftapi,swiftsms,celery,bulksms,singlesms"
Но это показывает ошибку
CRITICAL/MainProcess] Unrecoverable error: NotBoundError("Can't call method on Exchange not bound to a channel",)
Я не понимаю, что не так с добавлением еще двух очередей.Я использовал python == 3.6.7, redis == 2.10.6 и django-redis == 4.10.0.Обратный след
Traceback (most recent call last):
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/worker/worker.py", line 203, in start
self.blueprint.start(self)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/bootsteps.py", line 119, in start
step.start(parent)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/bootsteps.py", line 370, in start
return self.obj.start()
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", line 318, in start
blueprint.start(self)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/bootsteps.py", line 119, in start
step.start(parent)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/worker/consumer/tasks.py", line 37, in start
c.connection, on_decode_error=c.on_decode_error,
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/celery/app/amqp.py", line 302, in TaskConsumer
**kw
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/messaging.py", line 386, in __init__
self.revive(self.channel)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/messaging.py", line 407, in revive
self.declare()
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/messaging.py", line 420, in declare
queue.declare()
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/entity.py", line 604, in declare
self._create_exchange(nowait=nowait, channel=channel)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/entity.py", line 611, in _create_exchange
self.exchange.declare(nowait=nowait, channel=channel)
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/entity.py", line 182, in declare
return (channel or self.channel).exchange_declare(
File "/home/sparrow/.virtualenvs/envpython3.6/lib/python3.6/site-packages/kombu/abstract.py", line 119, in channel
type(self).__name__))
kombu.exceptions.NotBoundError: Can't call method on Exchange not bound to a channel