Skip to content

Celery Beat daemonization with systemd (clarify docs?) #4304

@paramono

Description

@paramono

I would like to daemonize launch of celery beat. I am using systemd.

Periodic Tasks page in the docs says the following:

To daemonize beat see daemonizing.

And I see that there are different initd scripts for celery and celery beat. However, the celery.service example for systemd works with celery multi only.

So what is the preferred way to run beat in production with systemd? Should I create a separate service for celery beat, or should I use single systemd service and supply celery multi with the --beat option, like suggested here: https://stackoverflow.com/a/23353596/5618728

The Periodic Tasks page says:

You can also embed beat inside the worker by enabling the workers -B option, this is convenient if you’ll never run more than one worker node, but it’s not commonly used and for that reason isn’t recommended for production use:

The same probably applies to running celery multi with --beat, but I wanted to know for sure what are the best practices for systemd users.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions