Commit Graph

99 Commits

Author SHA1 Message Date
Daniil Fajnberg 73aa93a9b7
Fix unit tests 2022-05-08 15:26:17 +02:00
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 28c997e0ee
Fix client and session tests 2022-05-07 14:54:33 +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 85672bddeb
Add short docstring to `until_closed` method 2022-05-05 08:46:27 +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 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 d7cd16c540
Add docs on IDs and groups 2022-04-09 14:53:07 +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 3a8fcb2d5a
Optimize coverage script/settings 2022-04-06 21:47:39 +02:00
Daniil Fajnberg cf02206588
Add RtD config 2022-04-04 10:06:39 +02:00
Daniil Fajnberg 0796038dcd
Update Readme 2022-04-03 16:52:51 +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 153127e028
lock before gathering meta tasks 2022-03-30 11:47:15 +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 3d104c979e typo 2022-03-14 18:13:51 +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 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 d05f84b2c3 additional base commands for control server 2022-03-08 10:15:10 +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 ce0f9a1f65 version bump 2022-02-25 22:44:25 +01:00
Daniil Fajnberg 5dad4ab0c7 implemented TCP socket control; switched example to TCP 2022-02-25 22:42:37 +01:00