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.

Requirements

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.

Config

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

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

Triggers

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

Usage

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

Options:
  --debug           Enables debug logging
  --rabbitmq TEXT   rabbitmq connection url: amqp://127.0.0.1:5672/
  --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

Development

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 .

Dockerfile

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.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

dramatiq_apscheduler-0.2.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file dramatiq-apscheduler-0.2.0.tar.gz.

File metadata

  • Download URL: dramatiq-apscheduler-0.2.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for dramatiq-apscheduler-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8e69b211dae5db1eec84c121c0b210da8e28b5cc564036117c2b7a4adabdfa0e
MD5 8ddc579dff41db95a937673f7a11b73b
BLAKE2b-256 90776e27bcd07d69e029b294bfb3ffd2f11ce67c4445295f530709f2e52fcf5a

See more details on using hashes here.

File details

Details for the file dramatiq_apscheduler-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dramatiq_apscheduler-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for dramatiq_apscheduler-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c0d1e7420c3e942aa0dd927608ea4e636db80e7872b4098e90829f9d404443a
MD5 3849f5b35b8c5d43346f6a9a4ebbae14
BLAKE2b-256 72a13439e9b7d4d71fc22650866d52d45e756f6c364afce8d40f8b4226aeeb65

See more details on using hashes here.

Supported by

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