Skip to main content

Asynchronous task queueing with Twisted: threaded, multicore, and remote.

Project description

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 Asynchronouse Message Protocol.

Includes deferred iteration capability: Calling a task that returns an iterator can return a Deferator 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.

Includes an example package mcMandelbrot that generates Mandelbrot set images, row by row, demonstrating the power of asynchronous multi-core processing. An instance of ProcessQueue dispatches the computations for each row of pixels to workers running on separate Python processes. The color-mapped RGB results are collected as they come back and intelligently buffered for iterating in a proper sequence to a third-party PNG library that wouldn’t ordinarily play nice with Twisted.

Python 3 compatiblity is in the works, but not yet supported.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

AsynQueue-0.9.4.tar.gz (131.3 kB view hashes)

Uploaded Source

Built Distribution

AsynQueue-0.9.4-py2-none-any.whl (164.4 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page