Tuesday, July 19, 2016

Release of dsq-0.6. Task queue using redis

I tired from celery/kombu bugs and wrote simple task queue https://github.com/baverman/dsq

Why? I can do better. http://dsq.readthedocs.io/en/latest/faq.html

Simple design, small code base with 100% test coverage and library-style (not framework-style) guarantees stability for production usage.

All features are done, documentation fixes and questions are welcome!

# tasks.py
import dsq
manager = dsq.create_manager()

@manager.task(queue='normal')
def add(a, b):
    print a + b

if __name__ == '__main__':
    add(1, 2)
$ python tasks.py
$ dsq worker -bt tasks normal

See full DSQ documentation.

Features

  • Low latency.
  • Expiring tasks (TTL).
  • Delayed tasks (ETA).
  • Retries (forever or particular amount).
  • Dead letters.
  • Queue priorities.
  • Worker lifetime.
  • Task execution timeout.
  • Task forwarder from one redis instance to another.
  • HTTP interface.
  • Inspect tools.
  • Supports 2.7, 3.4, 3.5 and PyPy.
  • 100% test coverage.