celery / django-celery

Old Celery integration project for Django

Home Page:http://celery.github.com/django-celery

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

queue Error using djcelery

jeyrce opened this issue · comments

while i use djcelery, error occured like this:

[2019-04-10 21:07:08,441: ERROR/MainProcess] Unrecoverable error: TypeError("__init__() missing 1 required positional argument: 'on_delete'",)
Traceback (most recent call last):
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/utils/__init__.py", line 323, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'Queue'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/worker/__init__.py", line 206, in start
    self.blueprint.start(self)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/bootsteps.py", line 123, in start
    step.start(parent)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/bootsteps.py", line 374, in start
    return self.obj.start()
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/worker/consumer.py", line 280, in start
    blueprint.start(self)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/bootsteps.py", line 123, in start
    step.start(parent)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/worker/consumer.py", line 655, in start
    c.connection, on_decode_error=c.on_decode_error,
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/celery/app/amqp.py", line 385, in __init__
    **kw
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/messaging.py", line 364, in __init__
    self.revive(self.channel)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/messaging.py", line 376, in revive
    self.declare()
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/messaging.py", line 386, in declare
    queue.declare()
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/entity.py", line 522, in declare
    self.queue_declare(nowait, passive=False)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/entity.py", line 548, in queue_declare
    nowait=nowait)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/transport/virtual/__init__.py", line 446, in queue_declare
    self._new_queue(queue, **kwargs)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/transport/django/__init__.py", line 36, in _new_queue
    self.Queue.objects.get_or_create(name=queue)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/utils/__init__.py", line 325, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/transport/django/__init__.py", line 66, in Queue
    return symbol_by_name(self.queue_model)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/utils/__init__.py", line 96, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/transport/django/models.py", line 24, in <module>
    class Message(models.Model):
  File "/home/lujianxin/VirtualEnvs/ljx/lib/python3.6/site-packages/kombu/transport/django/models.py", line 29, in Message
    queue = models.ForeignKey(Queue, related_name='messages')
TypeError: __init__() missing 1 required positional argument: 'on_delete'

it seems that it was because the orm model field queue set a ForeignKey, but did not obtain the param on_delete, is it not supported for django>2.0 ? if supported, where i can download

you are using an unsupported version of django with this package. try django celery beats and django celery results package instead