Commit graph

19 commits

Author SHA1 Message Date
675d8c3258 Make the web server exception handler configurable 2025-01-25 18:16:27 +00:00
8805265243 Don't wait indefinitely for new requests in the web server
Inspired by the similar changes in Cuirass.
2025-01-25 18:16:27 +00:00
d2ee45581b Export the wait-until-port operations 2025-01-23 19:48:39 +01:00
8a99f51bf9 Handle when the wrong number of values is returned in the web server 2025-01-23 19:46:43 +01:00
42d885c553 Try to better handle exceptions in the web server 2025-01-23 09:34:54 +01:00
d572f591a3 Rename worker threads to thread pool
I think this needs more work, maybe the thread pool should be more
similar to the resource pool, but I think the name change is still
helpful.

Maybe there's a need for a variable size thread pool and that can
better integrate with the work queue.
2025-01-14 10:05:06 +00:00
dcb56ee2c5 Tweak the resource pool
Mostly to no longer sleep in the main fiber. Now the main fiber just
spawns other fibers when it would previously block on put-operation
and these other fibers communicate back to the main resource pool
fiber when necessary.

This should mean that the resource pool is more responsive.
2025-01-09 09:34:11 +00:00
59c183b13f Add fiberize
Not sure about the name yet, but this is useful.
2025-01-08 15:57:15 +00:00
409fa1df5c Allow customising the resource-pool put-message timeout 2025-01-08 12:23:18 +00:00
66e0c52bf4 Export resource-pool-name 2025-01-08 12:23:08 +00:00
0771a41fe0 Print resource pools without the channel
Since the channel printer prints quite a lot of text.
2025-01-06 19:22:50 +00:00
97a3116b81 Support getting the pool from the timeout error 2025-01-06 19:06:28 +00:00
6119ece5cb Enable the Makefile to run tests 2024-12-29 10:47:54 +00:00
7e55db0de7 Consistently use non-blocking 2024-12-29 10:45:31 +00:00
4e564b4814 Allow nesting worker thread calls
Incorporating changes from the nar-herder.
2024-12-28 10:44:12 +00:00
4e791aff68 Fix a bug in fibers-batch-map (and related procedures)
And add more tests.
2024-12-27 22:14:51 +00:00
e8ab6f23d8 Add call-with-sigint 2024-12-25 20:35:40 +00:00
dc2fe732ea Make the parallel operations more continuous
Instead of batching the list items, change the batch size to a
parallelism limit and run up to that many fibers. When the processing
of one list item finishes, another will then start immediately after,
rather than when the whole batch is finished.

These changes also make the fibers-map and fibers-for-each operations
work with vectors as well as lists.
2024-12-22 12:24:49 +00:00
2f39c58d6c Initial commit 2024-12-16 09:18:12 +00:00