Skip to content

Improvement of the idempotency of the celery workers #898

Open
@pboers1988

Description

@pboers1988

Contact Details

[email protected]

What happened?

When running the orchestrator in celery mode, the start stopping of tasks is not idempotent. There are some cases where tasks can be stuck in a "resumed" state and never picked up. Furthermore the running_processes counter in the database often does not reflect the accurate state of affairs.

Steps to reproduce

  1. submit a large amount of workflows onto a queue
  2. kill celery
  3. A large number of tasks will remain in the created state.

It is also possible to do this when retrying a large number of workflows, they will then become stuck in resumed state. Or killing celery whilst executing long running tasks and start/stopping the engine

Sugested solution

As we heve implemented #832, we can now make the pick-up of tasks idempotent. Please design and implement a method so celery, at startup re-fills it's queue correctly.

Version

3.1.2rc4 and lower

What python version are you seeing the problem on?

All

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions