123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- Metadata-Version: 2.0
- Name: huey
- Version: 1.10.4
- Summary: huey, a little task queue
- Home-page: http://github.com/coleifer/huey/
- Author: Charles Leifer
- Author-email: coleifer@gmail.com
- License: UNKNOWN
- Platform: UNKNOWN
- Classifier: Development Status :: 4 - Beta
- Classifier: Environment :: Web Environment
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Operating System :: OS Independent
- Classifier: Programming Language :: Python
- Provides-Extra: backends
- Requires-Dist: peewee; extra == 'backends'
- Requires-Dist: redis; extra == 'backends'
- Requires-Dist: simpledb; extra == 'backends'
- Provides-Extra: redis
- Requires-Dist: redis; extra == 'redis'
- Provides-Extra: simpledb
- Requires-Dist: simpledb; extra == 'simpledb'
- Provides-Extra: sqlite
- Requires-Dist: peewee; extra == 'sqlite'
- huey - a little task queue
- ==========================
- .. image:: http://media.charlesleifer.com/blog/photos/huey-logo.png
- a lightweight alternative.
- * written in python (2.7+, 3.4+)
- * optional dependency on 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
- * task locking
- * task pipelines and chains
- .. image:: http://i.imgur.com/2EpRs.jpg
- .. image:: https://api.travis-ci.org/coleifer/huey.svg?branch=master
- Huey's API
- ----------
- .. code-block:: python
- 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:
- .. code-block:: console
- $ huey_consumer.py my_app.huey -k process -w 4
- To enqueue a task to add two numbers and print the result:
- .. code-block:: python
- res = add_numbers(1, 2) # Enqueues task.
- print(res.get()) # Prints "3".
- To schedule two numbers to be added in 10 seconds:
- .. code-block:: python
- res = add_numbers.schedule(args=(1, 2), delay=10)
- # Attempt to get result without blocking.
- print(res.get(False)) # returns None.
- # Block until result is ready and print.
- print(res.get()) # after 10 seconds, prints "3".
- Brokers
- -------
- To use Huey with Redis (**recommended**):
- .. code-block:: python
- from huey import RedisHuey
- huey = RedisHuey()
- To use Huey with SQLite (`docs <http://huey.readthedocs.io/en/latest/contrib.html#sqlite-storage>`_):
- .. code-block:: python
- from huey.contrib.sqlitedb import SqliteHuey
- huey = SqliteHuey('my-app-queue.db')
- To run Huey within the parent process using background greenlets (`docs <http://huey.readthedocs.io/en/latest/contrib.html#mini-huey>`_):
- .. code-block:: python
- from huey.contrib.minimal import MiniHuey
- huey = MiniHuey()
- huey.start() # Spawns scheduler background thread and returns immediately.
- To run Huey with a simple Python broker (**should not be used in production**),
- install `simpledb <https://github.com/coleifer/simpledb>`_ and run:
- .. code-block:: python
- from huey.contrib.simple_storage import SimpleHuey
- huey = SimpleHuey()
- # Be sure to run the Python broker process, e.g.:
- # $ python simpledb.py # Starts Python broker.
- Documentation
- ----------------
- `See Huey documentation <https://huey.readthedocs.io/>`_.
- Project page
- ---------------
- `See source code and issue tracker on Github <https://github.com/coleifer/huey/>`_.
- Huey is named in honor of my cat:
- .. image:: http://m.charlesleifer.com/t/800x-/blog/photos/p1473037658.76.jpg?key=mD9_qMaKBAuGPi95KzXYqg
|