Skip to content

tklx/celery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tklx/celery - Distributed task queue

CircleCI

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. The execution units, called tasks, are executed concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is used in production systems to process millions of tasks a day.

Features

  • Based on the super slim tklx/base (Debian GNU/Linux).
  • Celery installed directly from Debian.
  • Uses tini for zombie reaping and signal forwarding.
  • Includes ENV CELERY_BROKER_URL amqp://guest@rabbit so linking with a RabbitMQ container works by default.

Usage

Start a celery worker utilizing RabbitMQ as broker

$ docker run --name some-rabbitmq -d tklx/rabbitmq
$ docker run --link some-rabbitmq:rabbit --name some-celery -d tklx/celery

Check the status of the cluster (RabbitMQ)

$ docker run --link some-rabbitmq:rabbit --rm celery python -m celery status

Start a celery worker utilizing Redis as broker

$ docker run --name some-redis -d tklx/redis
$ docker run --link some-redis:redis -e CELERY_BROKER_URL=redis://redis --name some-celery -d tklx/celery

Check the status of the cluster (Redis)

$ docker run --link some-rabbitmq:rabbit -e CELERY_BROKER_URL=redis://redis --rm tklx/celery python -m celery status

Automated builds

The Docker image is built, tested and pushed by CircleCI from source hosted on GitHub.

  • Tag: x.y.z refers to a release (recommended).
  • Tag: latest refers to the master branch.

Status

Currently on major version zero (0.y.z). Per Semantic Versioning, major version zero is for initial development, and should not be considered stable. Anything may change at any time.

Issue Tracker

TKLX uses a central issue tracker on GitHub for reporting and tracking of bugs, issues and feature requests.

Releases

No releases published

Packages

No packages published

Languages