k3jobq
k3jobq processes a series of inputs with functions concurrently
k3jobq is a component of pykit3 project: a python3 toolkit set.
k3jobq is a manager to create cuncurrent tasks. It processes a series of inputs with functions concurrently and return once all threads are done::
def add1(args):
return args + 1
def printarg(args):
print(args)
k3jobq.run([0, 1, 2], [add1, printarg])
# > 1
# > 2
# > 3
Install
pip install k3jobq
Synopsis
#!/usr/bin/env python
import k3jobq
if __name__ == "__main__":
def add1(args):
return args + 1
def multi2(args):
return args * 2
def printarg(args):
print(args)
k3jobq.run([0, 1, 2], [add1, printarg])
# > 1
# > 2
# > 3
k3jobq.run((0, 1, 2), [add1, multi2, printarg])
# > 2
# > 4
# > 6
# Specify number of threads for each job:
# Job 'multi2' uses 1 thread.
# This is the same as the above example.
k3jobq.run(list(range(3)), [add1, (multi2, 1), printarg])
# > 2
# > 4
# > 6
# Create 2 threads for job 'multi2':
# As there are 2 thread dealing with multi2, output order will not be kept.
k3jobq.run(list(range(3)), [add1, (multi2, 2), printarg])
# Output could be:
# > 4
# > 2
# > 6
# Multiple threads with order kept:
# keep_order=True to force to keep order even with concurrently running.
k3jobq.run(list(range(3)), [add1, (multi2, 2), printarg],
keep_order=True)
# > 2
# > 4
# > 6
# timeout=0.5 specifies that it runs at most 0.5 second.
k3jobq.run(list(range(3)), [add1, (multi2, 2), printarg],
timeout=0.5)
# Returning *k3jobq.EmptyRst* stops delivering result to next job:
def drop_even_number(i):
if i % 2 == 0:
return k3jobq.EmptyRst
else:
return i
k3jobq.run(list(range(10)), [drop_even_number, printarg])
# > 1
# > 3
# > 5
# > 7
# > 9
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Metadata
Release files for k3jobq 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k3jobq-0.1.6.tar.gz | 12.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| k3jobq-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.9 kB
Release files / k3jobq-0.1.6.tar.gz
| Download URL | k3jobq-0.1.6.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7ae0905db44c7c0f809ab76621d9db5a6d0217de3918d4a847dc93c9b5f7dd98
|
|
BLAKE2b-256 checksum How to use checksums |
cc6147d1eac2010e4d58fdc6b20dd93852dc907987abf3dc986ff20fbe493c10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / k3jobq-0.1.6-py3-none-any.whl
| Download URL | k3jobq-0.1.6-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d0494175ce1aea061f3de1dd8009cce28360295a4b7b49eae9ea89007c939b2
|
|
BLAKE2b-256 checksum How to use checksums |
f64f04e33049e4d7372f0d2162a126daee57a6c34bdbc248d1016c1af850f1c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|