Skip to main content

asyncthreads: asynchronous thread utility objects

Project description

The asyncthreads module provides common threading design patterns and utilities needed for asynchronous and multithreaded programming. This includes a thread pool and a reactor, which together combine to create a highly reliable concurrent event processing system.

Installation

Using pip

Make sure python-pip is installed on you system. If you are using virtualenv, then pip is alredy installed into environments created by vertualenv. Run pip to install asyncthreads:

pip install asyncthreads

From Source

The asyncthreads package is installed from source using distutils in the usual way. Download the source distribution first. Un-tar the source tarball and run the following to install the package site-wide:

python setup.py install

Usage

Using the ThreadPool and Reactor is as simple as creating an instance and submitting work:

r = Reactor(ThreadPool(MIN_SIZE, MAX_SIZE))
r.start()
r.call(handle_event, (transport, event_id))
r.call_later(300, five_min_sync_check, (param1, param2))
r.call_in_thread(background_task)
r.call_in_thread_later(600, ten_min_async_check, (param1, param2))
r.shutdown()

See the documentation for details.

For example usage, look in the examples and test directories in src.

Requirements

  • Python 2.7 or greater

Development Tools

Development tools are only required for doing development work and running tests.

  • mercurial

  • py.test

  • pychecker

Bugs and Issues

http://bitbucket.org/agillis/asyncthreads/issues/

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

asyncthreads-1.5.4.tar.bz2 (13.6 kB view hashes)

Uploaded Source

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