Skip to main content

Helper library for interacting with flexes

Project description

flexes-lib

Build Status codecov

Client library for flexes

Dependencies

For asynchronous task execution Python >= 3.5 is required.

Usage at a glance

To run a task through the API synchronously

from flexes_lib.job import run_task

message = {'service': 'echo-test', 'test': True}
result = run_task(message)
print(result['status'])
# active

Asynchronous tasks are also supported

from asyncio import get_event_loop
from flexes_lib.async_job import run_task

message = {'service': 'echo-test', 'test': True}
result = loop.run_until_complete(run_task(message))
print(result['status'])
# active

The nice thing about asynchronous tasks is that you can run them in parallel. This example submits three jobs in parallel and then waits for all three to complete before returning the results.

from asyncio import gather, get_event_loop
from flexes_lib.async_job import run_task

m1 = {'service': 'echo-test', 'test': True}
m2 = {'service': 'echo-test', 'test': True}
m3 = {'service': 'echo-test', 'test': True}
results = loop.run_until_complete(
    gather(
        run_task(m1),
        run_task(m2),
        run_task(m3)
    )
)
print([result['status'] for result in results])
# ['active', 'active', 'active']

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

flexes_lib-0.1.1.tar.gz (7.1 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