/huey

a little task queue for python

Primary LanguagePythonMIT LicenseMIT

huey - a little task queue

http://media.charlesleifer.com/blog/photos/huey-logo.png

a lightweight alternative.

  • written in python
  • only dependency is the Python Redis client

supports:

  • multi-process, multi-thread or greenlet task execution models
  • schedule tasks to execute at a given time, or after a given delay
  • schedule recurring tasks, like a crontab
  • retry tasks that fail automatically
  • task result storage

http://i.imgur.com/2EpRs.jpg

Huey's API

from huey import RedisHuey, crontab

huey = RedisHuey('my-app', host='redis.myapp.com')

@huey.task()
def add_numbers(a, b):
    return a + b

@huey.periodic_task(crontab(minute='0', hour='3'))
def nightly_backup():
    sync_all_data()

To run the consumer with 4 worker processes:

$ huey_consumer.py my_app.huey -k process -w 4

Documentation

See Huey documentation.

Project page

See source code and issue tracker on Github.

Huey is named in honor of my cat:

http://m.charlesleifer.com/t/800x-/blog/photos/p1473037658.76.jpg?key=mD9_qMaKBAuGPi95KzXYqg