Celery task not received by worker when two projects

Rajesh P

My colleague has written celery tasks, necessary configuration in settings file, also supervisors config file. Everything is working perfectly fine. The projects is handed over to me and I seeing some issues that I have to fix.

There are two projects running on a single machine, both projects are almost same, lets call them projA and projB.

supervisord.conf file is as:

;for projA
[program:celeryd]
directory=/path_to_projA/
command=celery -A project worker -l info
...

[program:celerybeat]
directory=/path_to_projA/
command=celery -A project beat -l info
...

; For projB
[program:celerydB]
directory=/path_to_projB/
command=celery -A project worker -l info
...

[program:celerybeatB]
directory=/path_to_projB/
command=celery -A project beat -l info
...

The issue is, I am creating tasks through a loop and only one task is received from celeryd of projA, and remaining task are not in received (or could be received by celeryd of projB).

But when I stop celery programs for projB everything works well. Please note, the actual name of django-app is project hence celery -A project worker/beat -l info.

Please bare, I am new to celery, any help is appreciated. TIA.

swaroop m

As the Celery docs says,

Celery is an asynchronous task queue/job queue based on distributed message passing.

When multiple tasks are created through a loop, tasks are evenly distributed to two different workers ie worker of projA and worker of projB since your workers are same.

If projects are similar or as you mentioned almost same, you can use Celery Queue but of course your queues across projects should be different. Celery Docs for the same is provided here.

You need to set CELERY_DEFAULT_QUEUE, CELERY_DEFAULT_ROUTING_KEY and CELERY_QUEUES in your settings.py file.

And your supervisor.conf file needs queue name in the commands line for all the programs.

For Ex: command=celery -A project beat -l info -Q <queue_name>

And that should work, based on my experience.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Celery "received unregistered task"

From Dev

Celery "received unregistered task"

From Java

What does it mean for a celery task to be "Received"? When all celery workers are blocked, what is happening with new tasks that are not "Received"?

From Dev

Celery inspect worker tasks and retrieve the task docstrings

From Dev

celery shutdown worker after particular task

From Dev

Get the name of celery worker from inside a celery task?

From Dev

Get the name of celery worker from inside a celery task?

From Dev

Background task when apns received

From Dev

WorkerLostError when stopping Celery worker from Supervisor

From Dev

Django Celery Received unregistered task of type 'appname.tasks.add'

From Dev

Celery & RabbitMQ running as docker containers: Received unregistered task of type '...'

From Dev

Celery: Worker with concurrency and reserved tasks only running 1 task

From Dev

Celery worker will not pick up a new task after the current one is finished

From Dev

Is there any way to non-violently stop particular task of celery worker?

From Dev

python celery - how to add CELERYBEAT_SCHEDULE task at runtime to a worker?

From Dev

JavaScript Worker : how to check if a message was received while running expensive task

From Dev

celery beat schedule: run task instantly when start celery beat?

From Dev

Celery task errors when getting facebook picture

From Dev

Celery will not flush memory when task has ended

From Dev

What different between task_reject_on_worker_lost and task_acks_late in Celery

From Dev

task deadlock when invoking in worker threads

From Dev

"Unknown task" error in Celery Flower when posting a new task

From Dev

Celery command line parameter for number of worker processes when using gevent

From Dev

Celery inspect shows worker offline when Concurrency value reached

From Dev

Celery inspect shows worker offline when Concurrency value reached

From Dev

Celery command line parameter for number of worker processes when using gevent

From Dev

Celery delay().get() doesnt return when worker is running on Windows

From Dev

How to ensure revoked Celery task never run after all worker process go down and come back

From Dev

How to ensure revoked Celery task never run after all worker process go down and come back

Related Related

  1. 1

    Celery "received unregistered task"

  2. 2

    Celery "received unregistered task"

  3. 3

    What does it mean for a celery task to be "Received"? When all celery workers are blocked, what is happening with new tasks that are not "Received"?

  4. 4

    Celery inspect worker tasks and retrieve the task docstrings

  5. 5

    celery shutdown worker after particular task

  6. 6

    Get the name of celery worker from inside a celery task?

  7. 7

    Get the name of celery worker from inside a celery task?

  8. 8

    Background task when apns received

  9. 9

    WorkerLostError when stopping Celery worker from Supervisor

  10. 10

    Django Celery Received unregistered task of type 'appname.tasks.add'

  11. 11

    Celery & RabbitMQ running as docker containers: Received unregistered task of type '...'

  12. 12

    Celery: Worker with concurrency and reserved tasks only running 1 task

  13. 13

    Celery worker will not pick up a new task after the current one is finished

  14. 14

    Is there any way to non-violently stop particular task of celery worker?

  15. 15

    python celery - how to add CELERYBEAT_SCHEDULE task at runtime to a worker?

  16. 16

    JavaScript Worker : how to check if a message was received while running expensive task

  17. 17

    celery beat schedule: run task instantly when start celery beat?

  18. 18

    Celery task errors when getting facebook picture

  19. 19

    Celery will not flush memory when task has ended

  20. 20

    What different between task_reject_on_worker_lost and task_acks_late in Celery

  21. 21

    task deadlock when invoking in worker threads

  22. 22

    "Unknown task" error in Celery Flower when posting a new task

  23. 23

    Celery command line parameter for number of worker processes when using gevent

  24. 24

    Celery inspect shows worker offline when Concurrency value reached

  25. 25

    Celery inspect shows worker offline when Concurrency value reached

  26. 26

    Celery command line parameter for number of worker processes when using gevent

  27. 27

    Celery delay().get() doesnt return when worker is running on Windows

  28. 28

    How to ensure revoked Celery task never run after all worker process go down and come back

  29. 29

    How to ensure revoked Celery task never run after all worker process go down and come back

HotTag

Archive