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.

Source Distribution

py_easy_async-0.1.2.tar.gz (2.6 kB view details)

Uploaded Source

File details

Details for the file py_easy_async-0.1.2.tar.gz.

File metadata

  • Download URL: py_easy_async-0.1.2.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for py_easy_async-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ccee03a2720fb00547efe4c97497b4ef7ad21d44c1931aa3eee4e5721e92bff9
MD5 8a0a2c2c9d83f96d18bc0b014784872e
BLAKE2b-256 04c08aa951d3bbeef2c59bd4f1ffa67844a8be71365e1508ce41cbfc4513e115

See more details on using hashes here.

Supported by

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