Simple task management
Project description
Taskin provides simple task management. Tasks are simple callables that will be executed using a pool of resources. The pool can be a process or thread pool in order to achieve the required concurrency. The suite of tasks is called a flow. A flow is defined by defining a list of functions to run.
Here is an example:
import subprocess
from pprint import pprint
from taskin import IfTask, MapTask, do_flow
def foo(data):
return 1
def check(v):
return v == 1
def bar(data):
return 'bar'
def baz(data):
return 'baz'
def finish(data):
result = {}
for i in data:
zone, ips = i
result[zone] = ips
return result
def dig_it(zone):
cmd = 'dig +short %s' % zone
print('running: %s' % cmd.strip())
ips = subprocess.check_output(cmd.split()).strip().split('\n')
return (zone, ips)
myflow = [
foo,
IfTask(
check,
[bar],
[baz]
),
MapTask(dig_it, [
'ionrock.org',
'google.com',
'yahoo.com',
]),
finish,
]
def main():
results = do_flow(myflow, {})
pprint(results)
print('Done')
if __name__ == '__main__':
main()
Free software: BSD license
Documentation: https://taskin.readthedocs.org.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
taskin-0.1.0.tar.gz
(3.1 kB
view details)
File details
Details for the file taskin-0.1.0.tar.gz.
File metadata
- Download URL: taskin-0.1.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c865fbec4e9aa3a78b71e721aebb3093ab0967933159e3b57214d299df7c63a
|
|
| MD5 |
45107ee2c8d1b9da829c194c6d27b146
|
|
| BLAKE2b-256 |
760573960148c339579a37223423ad4d06b0de46e0ea93c32a4a440658e821e3
|