Vito Sansevero
756509b7ea
fix(threads): stop and join the prompt cleanup thread, the image worker and the observer ( #302 , #370 )
...
- PromptTracker: the cleanup thread waits on a stop event instead of
time.sleep; new shutdown(timeout=2) joins it and returns whether it ended.
- ImageGenerationHandler.shutdown(timeout=5) now joins the worker and
returns a bool; new close() is final: schedule() refuses and a sealed
run's history re-check is dropped, so no worker restarts afterwards.
- ImageMonitor.stop_monitoring(timeout=5) closes the handler first, then
stops and joins the watchdog observer within one deadline.
- Every test that builds a real tracker, handler or monitor ends with its
final stop and an assertion, before its folder and databases go.
- #370 : the wrapper/session history test drains before dispose(); the
held-write bound test uses 30 s ceilings instead of tight wall clocks.
2026-10-27 01:28:43 -07:00
..
2026-10-27 00:59:39 -07:00
2026-10-27 01:28:43 -07:00
2026-10-17 13:14:02 -07:00
2026-10-25 18:25:20 -07:00
2026-10-27 00:59:39 -07:00
2026-10-26 07:35:21 -07:00
2026-02-07 08:30:09 -08:00
2026-10-27 01:28:43 -07:00
2026-10-25 18:25:20 -07:00
2026-10-17 23:26:37 -07:00
2026-10-22 10:36:58 -07:00
2026-10-19 17:26:37 -07:00
2026-10-23 11:09:12 -07:00
2026-10-23 11:09:12 -07:00
2026-10-22 21:39:01 -07:00
2026-10-08 18:53:11 -07:00
2026-10-23 11:09:12 -07:00
2026-10-26 21:21:33 -07:00
2026-10-23 14:19:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-25 19:03:35 -07:00
2026-10-27 00:59:39 -07:00
2026-10-27 00:20:13 -07:00
2026-10-27 00:20:13 -07:00
2026-10-25 10:17:07 -07:00
2026-10-26 11:46:54 -07:00
2026-10-17 08:00:42 -07:00
2026-10-24 06:50:53 -07:00
2026-10-24 05:28:44 -07:00
2026-10-24 21:00:30 -07:00
2026-10-21 02:25:25 -07:00
2026-10-26 21:21:33 -07:00
2026-10-24 12:54:09 -07:00
2026-10-26 21:21:33 -07:00
2026-10-17 08:00:42 -07:00
2026-10-26 21:21:33 -07:00
2026-10-25 10:17:07 -07:00
2026-10-17 08:00:42 -07:00
2026-10-23 01:38:36 -07:00
2026-10-22 10:36:58 -07:00
2026-10-23 18:07:14 -07:00
2026-10-24 21:00:30 -07:00
2026-10-22 07:19:53 -07:00
2026-10-24 06:50:53 -07:00
2026-10-26 16:14:50 -07:00
2026-10-17 08:00:42 -07:00
2026-10-27 00:20:13 -07:00
2026-10-17 23:26:37 -07:00
2026-10-26 21:21:33 -07:00
2026-10-23 03:24:20 -07:00
2026-10-23 11:09:12 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 21:39:01 -07:00
2026-10-27 00:20:13 -07:00
2026-10-24 20:39:08 -07:00
2026-10-19 11:10:47 -07:00
2026-10-23 04:59:18 -07:00
2026-10-22 07:19:53 -07:00
2026-10-27 00:20:13 -07:00
2026-10-17 16:42:07 -07:00
2026-10-25 10:17:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 19:51:22 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 16:42:07 -07:00
2026-10-27 01:28:43 -07:00
2026-10-25 10:17:07 -07:00
2026-10-26 07:35:21 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-23 02:36:07 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 05:31:24 -07:00
2026-10-26 16:14:50 -07:00
2026-10-23 13:15:06 -07:00
2026-10-19 20:56:51 -07:00
2026-10-19 20:56:51 -07:00
2026-10-25 18:25:20 -07:00
2026-10-27 01:28:43 -07:00
2026-10-21 04:18:28 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 09:10:18 -07:00
2026-10-27 01:28:43 -07:00
2026-10-27 01:28:43 -07:00
2026-10-26 21:21:33 -07:00
2026-10-27 00:59:39 -07:00
2026-10-24 12:54:09 -07:00
2026-10-23 00:52:00 -07:00
2026-10-19 09:54:29 -07:00
2026-10-23 11:09:12 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 04:18:28 -07:00
2026-10-19 09:54:29 -07:00
2026-10-22 10:36:58 -07:00
2026-10-23 11:09:12 -07:00
2026-10-26 23:49:15 -07:00
2026-10-25 10:17:07 -07:00
2026-10-23 16:58:06 -07:00
2026-10-24 12:54:09 -07:00
2026-10-24 12:54:09 -07:00
2026-10-27 01:28:43 -07:00
2026-10-24 12:54:09 -07:00
2026-10-18 20:03:15 -07:00
2026-10-23 14:19:11 -07:00
2026-10-23 11:09:12 -07:00
2026-10-08 18:53:11 -07:00
2026-10-26 21:21:33 -07:00
2026-10-26 21:21:33 -07:00
2026-10-26 21:21:33 -07:00
2026-10-24 05:28:44 -07:00
2026-10-24 20:39:08 -07:00
2026-10-23 14:19:11 -07:00
2026-02-07 12:36:11 -08:00
2026-10-22 10:36:58 -07:00
2026-10-26 21:21:33 -07:00
2026-10-07 13:52:09 -07:00
2026-10-27 01:28:43 -07:00
2026-10-17 08:00:42 -07:00
2026-10-26 22:23:06 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 19:51:22 -07:00
2026-10-21 10:55:35 -07:00
2026-10-23 14:19:11 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-23 14:19:11 -07:00
2026-10-23 14:19:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-27 01:28:43 -07:00
2026-10-17 06:47:46 -07:00
2026-10-17 19:51:22 -07:00
2026-10-23 11:09:12 -07:00
2026-10-18 20:03:15 -07:00
2026-10-27 01:28:43 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 16:42:07 -07:00
2026-10-23 11:09:12 -07:00
2026-10-25 10:17:07 -07:00
2026-10-26 07:35:21 -07:00
2026-10-25 10:17:07 -07:00
2026-10-23 18:07:14 -07:00
2026-10-27 01:28:43 -07:00
2026-10-27 01:28:43 -07:00
2026-10-27 01:28:43 -07:00
2026-10-23 14:19:11 -07:00
2026-10-27 01:28:43 -07:00
2026-10-27 01:28:43 -07:00
2026-10-26 21:21:33 -07:00
2026-10-21 09:10:18 -07:00
2026-10-23 14:19:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-27 00:20:13 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-25 10:17:07 -07:00
2026-10-27 01:28:43 -07:00
2026-10-26 11:46:54 -07:00
2026-10-24 21:00:30 -07:00
2026-10-24 21:00:30 -07:00
2026-10-26 11:46:54 -07:00
2026-10-24 21:00:30 -07:00
2026-10-27 01:28:43 -07:00
2026-10-08 18:53:11 -07:00
2026-10-18 10:01:19 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 10:21:02 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-24 06:50:53 -07:00
2026-10-24 06:50:53 -07:00
2026-10-24 06:50:53 -07:00
2026-10-24 06:50:53 -07:00
2026-10-23 01:58:02 -07:00
2026-10-23 07:49:39 -07:00