Asynchronous task queueing based on the *Twisted* framework, with task
prioritization and a powerful worker interface. Worker implementations
are included for running tasks asynchronously in the main thread, in
separate threads, in separate Python interpreters (multiprocessing),
and even on separate devices using Twisted's Asynchronous Message
Protocol.
Includes deferred iteration capability: Calling a task that returns an
iterator can return a
[Deferator](http://edsuom.com/AsynQueue/asynqueue.iteration.Deferator.html)
instead, which does the iteration in a Twisted-friendly fashion, even
over a network connection. You can also supply an object conforming to
Twisted's *IConsumer* interface and iterations will be fed to it as they
become available.
The *util* module contains a
[DeferredTracker](http://edsuom.com/AsynQueue/asynqueue.util.DeferredTracker.html)
object that makes the import worthwhile all on its own. You can use
its **put** method to track Twisted *Deferred* objects without inserting
anything into their callback chains. Then you can wait in non-blocking
Twisted fashion for all, any, or some of the tracked deferreds to fire
(again, without getting tangled up with any of their callbacks) using
the tracker's **deferToAll**, **deferToAny**, and **deferUntilFewer**
methods.
Raw data
{
"_id": null,
"home_page": "http://edsuom.com/AsynQueue.html",
"name": "AsynQueue",
"maintainer": "Edwin A. Suominen",
"docs_url": null,
"requires_python": null,
"maintainer_email": "foss@edsuom.com",
"keywords": "twisted, asynchronous, async, defer, deferred, threads, parallel, distributed, task, queue, priority, multicore",
"author": "Edwin A. Suominen",
"author_email": "foss@edsuom.com",
"download_url": "https://files.pythonhosted.org/packages/43/a4/ebb8fd7feb0222bf71cf420b9e6acbd30a26c2e8645258cc52e0381f19f0/asynqueue-0.9.9.tar.gz",
"platform": "OS Independent",
"description": "\nAsynchronous task queueing based on the *Twisted* framework, with task\nprioritization and a powerful worker interface. Worker implementations\nare included for running tasks asynchronously in the main thread, in\nseparate threads, in separate Python interpreters (multiprocessing),\nand even on separate devices using Twisted's Asynchronous Message\nProtocol.\n\nIncludes deferred iteration capability: Calling a task that returns an\niterator can return a\n[Deferator](http://edsuom.com/AsynQueue/asynqueue.iteration.Deferator.html)\ninstead, which does the iteration in a Twisted-friendly fashion, even\nover a network connection. You can also supply an object conforming to\nTwisted's *IConsumer* interface and iterations will be fed to it as they\nbecome available.\n\nThe *util* module contains a\n[DeferredTracker](http://edsuom.com/AsynQueue/asynqueue.util.DeferredTracker.html)\nobject that makes the import worthwhile all on its own. You can use\nits **put** method to track Twisted *Deferred* objects without inserting\nanything into their callback chains. Then you can wait in non-blocking\nTwisted fashion for all, any, or some of the tracked deferreds to fire\n(again, without getting tangled up with any of their callbacks) using\nthe tracker's **deferToAll**, **deferToAny**, and **deferUntilFewer**\nmethods.\n",
"bugtrack_url": null,
"license": "Apache License (2.0)",
"summary": "Asynchronous task queueing with Twisted: threaded, multicore, and remote.",
"version": "0.9.9",
"project_urls": {
"API": "http://edsuom.com/AsynQueue/asynqueue.html",
"GitHub": "https://github.com/edsuom/AsynQueue",
"Homepage": "http://edsuom.com/AsynQueue.html"
},
"split_keywords": [
"twisted",
" asynchronous",
" async",
" defer",
" deferred",
" threads",
" parallel",
" distributed",
" task",
" queue",
" priority",
" multicore"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "12fed35251843ef5df9ac4adfb4837492581eafbb822776612c2e9267155df7f",
"md5": "b3023a4ef598135802bae3280e5fffba",
"sha256": "5985331f721f30293ebb81e92110ee5364067221a0ac0d2a68b726a442ac55f2"
},
"downloads": -1,
"filename": "asynqueue-0.9.9-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b3023a4ef598135802bae3280e5fffba",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 108412,
"upload_time": "2025-08-23T21:25:33",
"upload_time_iso_8601": "2025-08-23T21:25:33.281324Z",
"url": "https://files.pythonhosted.org/packages/12/fe/d35251843ef5df9ac4adfb4837492581eafbb822776612c2e9267155df7f/asynqueue-0.9.9-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "43a4ebb8fd7feb0222bf71cf420b9e6acbd30a26c2e8645258cc52e0381f19f0",
"md5": "93ac228522601a83922eaa614bff561e",
"sha256": "9eca5cf212704c4378ced14d3d154658ba22ef7bc63e81a3d7d0fcceec454468"
},
"downloads": -1,
"filename": "asynqueue-0.9.9.tar.gz",
"has_sig": false,
"md5_digest": "93ac228522601a83922eaa614bff561e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 85354,
"upload_time": "2025-08-23T21:25:34",
"upload_time_iso_8601": "2025-08-23T21:25:34.925046Z",
"url": "https://files.pythonhosted.org/packages/43/a4/ebb8fd7feb0222bf71cf420b9e6acbd30a26c2e8645258cc52e0381f19f0/asynqueue-0.9.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-23 21:25:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "edsuom",
"github_project": "AsynQueue",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "asynqueue"
}