Skip to main content

A Celery Beat Scheduler that uses MongoDB to store both schedule definitions and status information

Project description

This is a Celery Beat Scheduler (http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html) that stores both the schedules themselves and their status information in a backend Mongo database. It can be installed by installing the celerybeat-mongo Python egg:

# pip install celerybeat-mongo

And specifying the scheduler when running Celery Beat, e.g.:

$ celery beat -S celerybeatmongo.schedulers.MongoScheduler

Settings for the scheduler are defined in your celery configuration file similar to how other aspects of Celery are configured:

CELERY_MONGODB_SCHEDULER_DB = "celery"
CELERY_MONGODB_SCHEDULER_COLLECTION = "schedules"
CELERY_MONGODB_SCHEDULER_URL = "mongodb://userid:password@hostname:port"

If not settings are specified, the library will attempt to use the schedules collection in the local celery database.

Schedules can be manipulated in the Mongo database using the mongoengine models in celerybeatmongo.models or through direct database manipulation. There exist two types of schedules, interval and crontab.

Interval:

{
    "_id" : ObjectId("533c5b29b45a2092bffceb13"),
    "name" : "interval test schedule",
    "task" : "task-name-goes-here",
    "enabled" : true,
    "interval" : {
        "every" : 5,
        "period" : "minutes"
    },
    "args" : [
        "param1",
        "param2"
    ],
    "kwargs" : {
        "max_targets" : 100
    },
    "total_run_count" : 5,
    "last_run_at" : ISODate("2014-04-03T19:19:22.666+17:00")
}

Crontab:

{
    "_id" : ObjectId("53a91dfd455d1c1a4345fb59"),
    "name" : "crontab test schedule",
    "task" : "task-name-goes-here",
    "enabled" : true,
    "crontab" : {
        "minute" : "30",
        "hour" : "2",
        "day_of_week" : "*",
        "day_of_month" : "*",
        "day_of_year" : "*"
    },
    "args" : [
        "param1",
        "param2"
    ],
    "kwargs" : {
        "max_targets" : 100
    },
    "total_run_count" : 5,
    "last_run_at" : ISODate("2014-04-03T19:19:22.666+17:00")
}

The following fields are required: name, task, crontab || interval, enabled when defining new tasks. total_run_count and last_run_at are maintained by the scheduler and should not be externally manipulated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

celerybeat-mongo-0.0.4.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

celerybeat-mongo-0.0.4.macosx-10.9-intel.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file celerybeat-mongo-0.0.4.tar.gz.

File metadata

File hashes

Hashes for celerybeat-mongo-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b0870cb0bc736b093ffeef2c220b0b8b23da4b9f1c65b166f1d610f950a1568e
MD5 0d550ba858b794d6186991490c8aa7b6
BLAKE2b-256 6996ae4e5e9820c060f5227b4e7a7fa0750218badef2ac5bda3055e11477cb97

See more details on using hashes here.

File details

Details for the file celerybeat-mongo-0.0.4.macosx-10.9-intel.tar.gz.

File metadata

File hashes

Hashes for celerybeat-mongo-0.0.4.macosx-10.9-intel.tar.gz
Algorithm Hash digest
SHA256 b827b4a50faee48a7d592e9ac8c07a51d8cf5e1d29931d60dc1cb80835831c48
MD5 59fd3bec08f57c26d7c6ee456f3aab51
BLAKE2b-256 18cf09dcd487331e43b7d1cd054a99904a04d5c2214a15f4fbed10b8884d902c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page