Mailing List Archive

celery multi celery.exceptions.TimeoutError: The operation timed out
I followed the official [Celery guide](https://docs.celeryproject.org/en/stable/getting-started/next-steps.html#in-the-background) to learn, everything works well when using `celery -A proj worker -l info` to start the worker, however , if I run the worker in the background using `celery multi restart w1 -A proj -l info --logfile=./celery.log`, then I got


>>> from proj.tasks import add
>>> add.delay().get(timeout=19)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/dist-packages/celery/result.py", line 230, in get
return self.backend.wait_for_pending(
File "/usr/local/lib/python3.8/dist-packages/celery/backends/base.py", line 660, in wait_for_pending
meta = self.wait_for(
File "/usr/local/lib/python3.8/dist-packages/celery/backends/base.py", line 696, in wait_for
raise TimeoutError('The operation timed out.')
celery.exceptions.TimeoutError: The operation timed out.
>>>
So what's wrong ?

Test environment :

- Python 3.8.2
- celery multi v4.4.7
- rabbitmqctl version ---> 3.8.2

and Project layout ([code files](https://github.com/celery/celery/files/5231502/proj.zip)):

> proj/__init__.py
> /celery.py
> /tasks.py

celery.py

from __future__ import absolute_import, unicode_literals

from celery import Celery

app = Celery('proj',
broker='amqp://localhost',
# backend='db+sqlite:///results.sqlite', # The backend argument? If you don’t need results, it’s better to disable them. Results can also be disabled for individual tasks by setting the @task(ignore_result=True) option.
include=['proj.tasks']) # The include argument is a list of modules to import when the worker starts. You need to add our tasks module here so that the worker is able to find our tasks.
app.conf.CELERY_RESULT_BACKEND = 'db+sqlite:///results.sqlite'

if __name__ == '__main__':
app.start()

tasks.py

from __future__ import absolute_import, unicode_literals
from .celery import app
import datetime
@app.task
def add():
return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")


The log info as the following , I googled , but didn't find a working solutions
```
[2020-09-15 22:10:03,229: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2020-09-15 22:10:03,238: INFO/MainProcess] mingle: searching for neighbors
[2020-09-15 22:10:04,260: INFO/MainProcess] mingle: all alone
[2020-09-15 22:10:04,273: INFO/MainProcess] w1@iZwz962a07bhoio77q4ewxZ ready.
[2020-09-15 22:10:10,625: ERROR/MainProcess] Received unregistered task of type 'proj.tasks.add'.
The message has been ignored and discarded.

Did you remember to import the module containing this task?
Or maybe you're using relative imports?

Please see
http://docs.celeryq.org/en/latest/internals/protocol.html
for more information.

The full contents of the message body was:
'[[], {}, {"callbacks": null, "errbacks": null, "chain": null, "chord": null}]' (77b)
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/celery/worker/consumer/consumer.py", line 562, in on_task_received
strategy = strategies[type_]
KeyError: 'proj.tasks.add'

```
--
https://mail.python.org/mailman/listinfo/python-list
celery multi celery.exceptions.TimeoutError: The operation timed out [ In reply to ]
Re: celery multi celery.exceptions.TimeoutError: The operation timed out [ In reply to ]
Op 21-09-2020 om 12:14 schreef iMath:
> Asked 3 days ago at https://stackoverflow.com/questions/63951696/celery-multi-celery-exceptions-timeouterror-the-operation-timed-out
>
> But nobody helped yet, anyone ?
>
Did you see
https://stackoverflow.com/questions/9769496/celery-received-unregistered-task-of-type-run-example
?

The error says "Received unregistered task of type 'proj.tasks.add'", so
it looks very much like your registry is not correct/complete.

Vriendelijke groeten/Kind regards,

Menno Hölscher


--
https://mail.python.org/mailman/listinfo/python-list
Re: celery multi celery.exceptions.TimeoutError: The operation timed out [ In reply to ]
? 2020?9?21???? UTC+8 ??8:02:44?<Menno Holscher> ???
> Op 21-09-2020 om 12:14 schreef iMath:
> > Asked 3 days ago at https://stackoverflow.com/questions/63951696/celery-multi-celery-exceptions-timeouterror-the-operation-timed-out
> >
> > But nobody helped yet, anyone ?
> >
> Did you see
> https://stackoverflow.com/questions/9769496/celery-received-unregistered-task-of-type-run-example
> ?
>
> The error says "Received unregistered task of type 'proj.tasks.add'", so
> it looks very much like your registry is not correct/complete.
>
> Vriendelijke groeten/Kind regards,
>
> Menno Hölscher

None of the answers helped .
Finally ,I switched to https://github.com/jarekwg/django-apscheduler I found it is elegant and easy to use
--
https://mail.python.org/mailman/listinfo/python-list