Skip to main content

Provides simple interface for threading to easy perform async actions

Project description

py_easy_async provides simple interface for threading to easy perform async actions in Python versions 3.4 and up

Example of simple async operations

import py_easy_async
import time

def print_with_sleep(word):
    time.sleep(1)
    print(word)
    return 'done'

print('first')
py_easy_async.async(lambda: print_with_sleep('second'),
                 lambda done_string: print("done callback called with string: %s" % done_string))
print('third')

The above example will print the following:

first
third
second
done callback called with string: done

Example of thread pool management

from py_easy_async import pool

def message_handler(message):
    print('got message:', message)

identifier = pool.run_thread(message_handler, name='Persistent-Thread')

for i in range(5):
    pool.message(identifier, "test message #%s" % i)

pool.stop_thread(identifier)

The above example will start thread that will wait for messages that it should process:

Persistent-Thread starting...

got message: test message #0
got message: test message #1
got message: test message #2
got message: test message #3
got message: test message #4

Persistent-Thread exiting...

License

Released under the MIT license.

Installation

pip install py_easy_async

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
py_easy_async-0.1.2.tar.gz (2.6 kB) Copy SHA256 hash SHA256 Source None Mar 9, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page