Welcome to EVECelery’s documentation!#

EVECelery is a distributed task queue framework for building tools that interact with the EVE Online ESI API using Celery, RabbitMQ, and Redis.

With EVECelery you can easily distribute ESI calls and tasks across a fleet of worker nodes built using Celery.

You can create your own tasks on top of EVECelery defining custom functions and scheduled jobs that run alongside the included tasks.

Features#

  • Built with Celery to distribute ESI calls and tasks across a fleet of worker nodes

  • Distributed locking system with Redis ensures stateless workers won’t make duplicate API calls if multiple clients run tasks with matching parameters at the same time

  • Cache integration with Redis that caches ESI responses

  • Easily define your own Celery tasks to register with the EVECelery worker nodes

  • Client support for obtaining results synchronously or asynchronously. See Celery calling tasks for docs on calling tasks.

  • Automated task retry and distributed error rate control limiting across the worker fleet

  • ESI task API designed to mirror the ESI Swagger Spec with the same parameter names, responses, and documentation for easy development and code completion

  • Support for periodic scheduled tasks making use of the Celery beat scheduler

User Guide#

User guide for using the library.

Examples#

Code samples of this library.

Contributor Guide#

Resources for further developing this library and making contributions.

API Reference#

Indices and tables#