sbaechler
sbaechler

Reputation: 1429

Celerybeat shuts down immediately after start

I have a django app that is using celeryd and celerybeat. Both are set up to run as daemons. The celerybeat tasks won't get executed because celerybeat does not start correctly. According to the logs it shuts down immediately:

[2012-05-04 13:02:49,055: WARNING/MainProcess] celerybeat v2.5.1 is starting.
[2012-05-04 13:02:49,122: INFO/MainProcess] process shutting down
[2012-05-04 13:02:49,122: DEBUG/MainProcess] running all "atexit" finalizers with priority >= 0
[2012-05-04 13:02:49,134: DEBUG/MainProcess] running the remaining "atexit" finalizers

I'm starting it with /etc/int.d/celerybeat start

This is the /etc/default/celerybeat config:

# Where the Django project is.
CELERYBEAT_CHDIR="/var/www/path_to_app/cms/"

# Python interpreter from environment.
ENV_PYTHON="$CELERYBEAT_CHDIR/bin/python"

# Name of the projects settings module.
export DJANGO_SETTINGS_MODULE="cms.settings"

# Path to celerybeat
CELERYBEAT="$ENV_PYTHON $CELERYBEAT_CHDIR/cms/manage.py celerybeat"

# Extra arguments to celerybeat
CELERYBEAT_LOG_LEVEL="DEBUG"
CELERYBEAT_USER="www-data"

CELERYBEAT_GROUP="www-data"

The task schedule is set in settings.py:

CELERYBEAT_SCHEDULE = {
    # Executes every  morning at 7:00 A.M
    "every-morning": {
        "task": "cms.tasks.get_recent_posts_for_all_pages",
        "schedule": crontab(hour=7, minute=00)
    },
}

When I run celerybeat from the shell with ./manage.py celerybeat it seems to run fine.

There is also a celerybeat section in the celeryd config but I assume that one is ignored.

Regards Simon

Upvotes: 8

Views: 1542

Answers (1)

Related Questions