Skip to main content

No project description provided

Project description

Dramatiq ApScheduler

Allows simple command line usage of ApScheduler to add tasks directly to Dramatiq. It is designed to support multiple concurrent scheduler process such as in the case of Elastic Beanstalk.

You can run multiple process and each one will check if it's the leader before executing any tasks.


The application uses rabbitmq and redis.

By default both rabbitmq and redis will just use localhost but on most systems you are running these services on another server. You can configure both redis and rabbitmq by providing the connection urls as options redis_url and rabbitmq or environment variables SCHEDULE_REDIS_URL and SCHEDULE_RABBITMQ.


Below is a minimal example of the config. To add more tasks just simply edit the jobs config option.

    func: run_feeds
    crontab: "*/10 * * * *"
    func: test_task
    crontab: "*/1 * * * *"
    queue_name: test


Currently only one trigger is supported crontab. We recommend you use to validate your expressions.


Just run the task to start the process. You can also add the --debug flag to get extra logging.

Usage: dramatiq_apscheduler [OPTIONS] TASK_FILE

  --debug           Enables debug logging
  --rabbitmq TEXT   rabbitmq connection url: amqp://
  --redis_url TEXT  redis connection url: redis://localhost/
  --expire INTEGER  How long the lock should last for
  --help            Show this message and exit.

You can run with the demo config:

dramatiq_apscheduler config.yaml


The easiest way to develop this application is in a venv. You can see more details in the click documentation but if your venv is setup just run the below command.

 pip install --editable .


A docker image is also provided which allows you to easily run the application anywhere.

docker pull scollins/dramatiq-apscheduler
docker run scollins/dramatiq-apscheduler

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

dramatiq-apscheduler-0.2.1.tar.gz (3.5 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page