Commit Graph

41 Commits

Author SHA1 Message Date
Daniil Fajnberg 051d0cb911
Fix control server response writes 2022-05-08 15:20:07 +02:00
Daniil Fajnberg ee0b8c0002
End control server response with newline 2022-05-07 16:16:50 +02:00
Daniil Fajnberg 5a72a6d1d1
Fix server's control session reading from socket; improve docstrings 2022-05-07 14:44:43 +02:00
Daniil Fajnberg 72e380cd77
Version increment 2022-05-06 18:57:45 +02:00
Daniil Fajnberg dae883446a
Add `until_closed` method to pools 2022-05-05 08:35:32 +02:00
Daniil Fajnberg a4ecf39157
Fix socket path bug in control client 2022-04-27 17:02:34 +02:00
Daniil Fajnberg e3bbb05eac
Fix version number 2022-04-18 13:49:40 +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 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 3d84e1552b version bump 2022-03-13 16:12:04 +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 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 ce0f9a1f65 version bump 2022-02-25 22:44:25 +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 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 538b9cc91c major refactoring of the control session/parser classes; restructured constants 2022-02-13 19:39:21 +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 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 d48b20818f small improvement to the `TaskPool._map` args queue; added docstring to helper method 2022-02-08 12:23:16 +01:00
Daniil Fajnberg 3c69740c8d factored out the queue setup of `TaskPool._map` 2022-02-08 12:09:21 +01:00
Daniil Fajnberg 586023f722 fixed unittests; minor changes 2022-02-07 23:41:52 +01:00
Daniil Fajnberg 16eda31648 reworked the `_map` method to make use of an arguments queue; added docstrings to the `TaskPool` methods 2022-02-07 23:17:39 +01:00
Daniil Fajnberg 4ea815be65 refactored `TaskPool._map`; fixed `TaskPool.apply`; helper functions in separate module; new exception class 2022-02-07 17:31:43 +01:00
Daniil Fajnberg ac903d9be7 full test coverage for `BaseTaskPool` 2022-02-07 14:23:49 +01:00
Daniil Fajnberg 2e57447f5c meta adjustments 2022-02-03 20:10:26 +01:00
Daniil Fajnberg 3d5d9bd8be Initial commit 2022-02-03 20:06:30 +01:00