Commit Graph

55 Commits

Author SHA1 Message Date
36527ccffc
Improve exception handling in _start_num 2022-04-18 13:45:15 +02:00
d047b99119
Fix cancel message bug for Python 3.8; test coverage workaround for Python version conditions 2022-04-10 10:43:53 +02:00
db306a1a1f
Fixed Python 3.8 compatibility bugs; classmethod+property workaround; control session buffer 2022-04-08 11:53:53 +02:00
f4e33baf82
Add workflows & badges 2022-04-03 16:33:28 +02:00
9b838b6130
improved exception handling/logging in _map 2022-03-31 21:05:01 +02:00
0daed04167
improved exception handling/logging in apply meta task 2022-03-31 11:04:31 +02:00
80fc91ec47
made start "non-async" using meta task 2022-03-30 21:51:19 +02:00
a72a7cc516
made a bunch of methods "non-async" 2022-03-30 18:16:28 +02:00
91d546ebc2
moved the entire meta task logic to the base class 2022-03-30 16:17:34 +02:00
5b3ac52bf6
start method now returns group name 2022-03-30 15:31:38 +02:00
82e6ca7b1a
task group naming logic changed 2022-03-30 12:37:32 +02:00
17539e9c27
made apply non-blocking by using a meta-task 2022-03-29 20:01:44 +02:00
1beb9fc9b0
gather_and_close now automatically locks the pool 2022-03-29 19:43:21 +02:00
23a4cb028a
renamed group_size to num_concurrent in _map 2022-03-29 19:34:27 +02:00
54e5bfa8a0
drastically simplified meta-task internals 2022-03-29 19:34:13 +02:00
0e7e92a91b
better error handling when converting arguments 2022-03-26 10:29:34 +01:00
a9011076c4
fixed potential race cond. gathering meta tasks 2022-03-25 12:58:18 +01:00
7e34aa106d
sphinx documentation; adjusted all docstrings; moved some modules to non-public subpackage 2022-03-24 13:38:30 +01:00
4c6a5412ca removed num_cancellations and num_finished from the pool interface; added num_cancelled; made the num argument non-optional in the start and stop methods of the SimpleTaskPool; changed some internals; improved docstrings 2022-03-17 13:52:02 +01:00
44c03cc493 catching exceptions in _queue_consumer meta task 2022-03-16 16:57:03 +01:00
689a74c678 control interface now supports TaskPool instances:
dotted paths to coroutine functions can be passed to the parser as arguments for methods like `map`;
parser supports literal evaluation for the argument iterables in methods like `map`;
minor fixes
2022-03-16 11:27:27 +01:00
3503c0bf44 removed a few functions from the public API; fixed some docstrings/comments 2022-03-14 19:16:28 +01:00
a92e646411 improved and extended usage/readme docs; small fixes 2022-03-14 18:09:30 +01:00
38f4ec1b06 finally reached 100% unittest coverage overall 2022-03-13 16:11:20 +01:00
6f082288d8 brought unittest coverage up to 100% on control modules 2022-03-13 15:44:53 +01:00
9fde231250 moved control-related modules to a sub-package; minor corrections 2022-03-13 15:18:53 +01:00
c72a5035ea big rework of the session-parser-interaction;
dynamically adding pool methods/properties as parser commands;
dynamically executing selected pool method/property;
greatly simplified `ControlSession` class;
removed the need for hard-coded command names;
adjusted unittests accordingly
2022-03-13 14:56:56 +01:00
eb152e4d75 fixed unix server/client tests 2022-03-08 10:22:07 +01:00
7c66604ad0 renamed method get_task_group_ids and extended to accept any number of group names 2022-03-08 09:08:28 +01:00
287906a218 added unittests 2022-03-08 09:05:59 +01:00
ae6bb1bd17 skipping unix socket tests on Windows 2022-02-25 21:17:14 +01:00
c63f079da4 huge update:
introduced meta tasks which are used by `_map()`;
introduced task groups;
ending with `gather_and_close()` now;
pool unittests rewritten accordingly;
two new helper classes
2022-02-24 19:16:24 +01:00
4994135062 renamed num_tasks in the map-methods to group_size; reworded/extended the docstrings 2022-02-19 16:02:50 +01:00
d0c0177681 full unit test coverage and docstrings for client module; minor refactoring 2022-02-19 12:56:08 +01:00
bac7b32342 full unit test coverage and docstrings for session_parser module; minor changes 2022-02-14 22:11:31 +01:00
96d01e7259 full unit test coverage and docstrings for session module 2022-02-14 17:59:11 +01:00
b6aed727e9 additional unit tests 2022-02-13 19:55:27 +01:00
3fb451a00e docstrings and full test coverage for server module; small adjustments 2022-02-13 16:17:50 +01:00
be03097bf4 massive overhaul of the control server interface;
making use of `ArgumentParser` for client commands;
new `ControlSession` object instantiated upon connection
2022-02-12 22:51:52 +01:00
024e5db0d4 license & copyright notices; docstrings for each module; extended readme 2022-02-09 23:14:42 +01:00
bc9d2f243e renamed "closing" a pool to "locking" it 2022-02-08 23:09:33 +01:00
8fd40839ee full unittest coverage for the helpers module 2022-02-08 16:40:13 +01:00
410e73e68b bugfix for TaskPool._map; usage example for TaskPool 2022-02-08 16:15:55 +01:00
727f0b7c8b added full test coverage and docstrings for TaskPool as well as minor improvements 2022-02-08 14:30:42 +01:00
63aab1a8f6 added full test coverage of TaskPool and further improved its _map() method 2022-02-08 13:29:57 +01:00
586023f722 fixed unittests; minor changes 2022-02-07 23:41:52 +01:00
4ea815be65 refactored TaskPool._map; fixed TaskPool.apply; helper functions in separate module; new exception class 2022-02-07 17:31:43 +01:00
ac903d9be7 full test coverage for BaseTaskPool 2022-02-07 14:23:49 +01:00
e8e13406ea new interrupt flag for cancel_all to prevent _map() from starting new tasks 2022-02-06 16:32:42 +01:00
b5eed608b5 refactoring; new flush method to clear memory of ended tasks 2022-02-06 13:42:34 +01:00