huey, a little task queue

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

a lightweight alternative, huey is:

  • written in python
  • only dependency is the Python Redis client
  • clean and simple APIs

huey 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
  • consumer event streaming
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

Huey is named in honor of my cat

http://m.charlesleifer.com/t/650x650/blog/photos/IMG_20130402_154858.jpg?key=dwGB5XTKyBRRnh-ie1qHlw

Contents:

Indices and tables