Commit Graph

59 Commits

Author SHA1 Message Date
Daniil Fajnberg 73aa93a9b7
Fix unit tests 2022-05-08 15:26:17 +02:00
Daniil Fajnberg ee0b8c0002
End control server response with newline 2022-05-07 16:16:50 +02:00
Daniil Fajnberg 28c997e0ee
Fix client and session tests 2022-05-07 14:54:33 +02:00
Daniil Fajnberg dae883446a
Add `until_closed` method to pools 2022-05-05 08:35:32 +02:00
Daniil Fajnberg 36527ccffc
Improve exception handling in `_start_num` 2022-04-18 13:45:15 +02:00
Daniil Fajnberg d047b99119
Fix cancel message bug for Python 3.8; test coverage workaround for Python version conditions 2022-04-10 10:43:53 +02:00
Daniil Fajnberg db306a1a1f
Fixed Python 3.8 compatibility bugs; classmethod+property workaround; control session buffer 2022-04-08 11:53:53 +02:00
Daniil Fajnberg f4e33baf82
Add workflows & badges 2022-04-03 16:33:28 +02:00
Daniil Fajnberg 9b838b6130
improved exception handling/logging in `_map` 2022-03-31 21:05:01 +02:00
Daniil Fajnberg 0daed04167
improved exception handling/logging in `apply` meta task 2022-03-31 11:04:31 +02:00
Daniil Fajnberg 80fc91ec47
made `start` "non-async" using meta task 2022-03-30 21:51:19 +02:00
Daniil Fajnberg a72a7cc516
made a bunch of methods "non-async" 2022-03-30 18:16:28 +02:00
Daniil Fajnberg 91d546ebc2
moved the entire meta task logic to the base class 2022-03-30 16:17:34 +02:00
Daniil Fajnberg 5b3ac52bf6
`start` method now returns group name 2022-03-30 15:31:38 +02:00
Daniil Fajnberg 82e6ca7b1a
task group naming logic changed 2022-03-30 12:37:32 +02:00
Daniil Fajnberg 17539e9c27
made `apply` non-blocking by using a meta-task 2022-03-29 20:01:44 +02:00
Daniil Fajnberg 1beb9fc9b0
`gather_and_close` now automatically locks the pool 2022-03-29 19:43:21 +02:00
Daniil Fajnberg 23a4cb028a
renamed `group_size` to `num_concurrent` in `_map` 2022-03-29 19:34:27 +02:00
Daniil Fajnberg 54e5bfa8a0
drastically simplified meta-task internals 2022-03-29 19:34:13 +02:00
Daniil Fajnberg 0e7e92a91b
better error handling when converting arguments 2022-03-26 10:29:34 +01:00
Daniil Fajnberg a9011076c4
fixed potential race cond. gathering meta tasks 2022-03-25 12:58:18 +01:00
Daniil Fajnberg 7e34aa106d
sphinx documentation; adjusted all docstrings; moved some modules to non-public subpackage 2022-03-24 13:38:30 +01:00
Daniil Fajnberg 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
Daniil Fajnberg 44c03cc493 catching exceptions in `_queue_consumer` meta task 2022-03-16 16:57:03 +01:00
Daniil Fajnberg 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
Daniil Fajnberg 3503c0bf44 removed a few functions from the public API; fixed some docstrings/comments 2022-03-14 19:16:28 +01:00
Daniil Fajnberg a92e646411 improved and extended usage/readme docs; small fixes 2022-03-14 18:09:30 +01:00
Daniil Fajnberg 38f4ec1b06 finally reached 100% unittest coverage overall 2022-03-13 16:11:20 +01:00
Daniil Fajnberg 6f082288d8 brought unittest coverage up to 100% on control modules 2022-03-13 15:44:53 +01:00
Daniil Fajnberg 9fde231250 moved control-related modules to a sub-package; minor corrections 2022-03-13 15:18:53 +01:00
Daniil Fajnberg 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
Daniil Fajnberg eb152e4d75 fixed unix server/client tests 2022-03-08 10:22:07 +01:00
Daniil Fajnberg 7c66604ad0 renamed method `get_task_group_ids` and extended to accept any number of group names 2022-03-08 09:08:28 +01:00
Daniil Fajnberg 287906a218 added unittests 2022-03-08 09:05:59 +01:00
Daniil Fajnberg ae6bb1bd17 skipping unix socket tests on Windows 2022-02-25 21:17:14 +01:00
Daniil Fajnberg 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
Daniil Fajnberg 4994135062 renamed `num_tasks` in the map-methods to `group_size`; reworded/extended the docstrings 2022-02-19 16:02:50 +01:00
Daniil Fajnberg d0c0177681 full unit test coverage and docstrings for `client` module; minor refactoring 2022-02-19 12:56:08 +01:00
Daniil Fajnberg bac7b32342 full unit test coverage and docstrings for `session_parser` module; minor changes 2022-02-14 22:11:31 +01:00
Daniil Fajnberg 96d01e7259 full unit test coverage and docstrings for `session` module 2022-02-14 17:59:11 +01:00
Daniil Fajnberg b6aed727e9 additional unit tests 2022-02-13 19:55:27 +01:00
Daniil Fajnberg 3fb451a00e docstrings and full test coverage for `server` module; small adjustments 2022-02-13 16:17:50 +01:00
Daniil Fajnberg 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
Daniil Fajnberg 024e5db0d4 license & copyright notices; docstrings for each module; extended readme 2022-02-09 23:14:42 +01:00
Daniil Fajnberg bc9d2f243e renamed "closing" a pool to "locking" it 2022-02-08 23:09:33 +01:00
Daniil Fajnberg 8fd40839ee full unittest coverage for the `helpers` module 2022-02-08 16:40:13 +01:00
Daniil Fajnberg 410e73e68b bugfix for `TaskPool._map`; usage example for `TaskPool` 2022-02-08 16:15:55 +01:00
Daniil Fajnberg 727f0b7c8b added full test coverage and docstrings for `TaskPool` as well as minor improvements 2022-02-08 14:30:42 +01:00
Daniil Fajnberg 63aab1a8f6 added full test coverage of `TaskPool` and further improved its `_map()` method 2022-02-08 13:29:57 +01:00
Daniil Fajnberg 586023f722 fixed unittests; minor changes 2022-02-07 23:41:52 +01:00