Сельдерей не работает более 3-х очередей с редисом - PullRequest
0 голосов
/ 13 мая 2019

Я новичок в сельдерее.Я использовал три очереди в сельдерее, и он работал нормально.Я запустил сельдерей следующим образом:

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
...