ec2f2489a2
Fix resource pool bug
...
/ test (push) Successful in 9s
And remove unnecessary named let.
2025-07-01 23:13:31 +01:00
ce1b710bcf
Use a queue for the resource pool waiters
...
/ test (push) Successful in 8s
As this will maybe improve performance.
2025-06-30 22:57:08 +01:00
163d775496
Fix record-predicate that should be exception-predicate
2025-06-27 00:16:18 +02:00
09ca6cfb6b
Fix resource-pool-destroy-resource-exception
...
Raising the exception is more consistent, and avoids returning the
resource.
2025-06-26 21:27:32 +02:00
ab5411da42
Make resource pool changes and add parallelism limiter
...
/ test (push) Successful in 9s
This was motivated by trying to allow for completely cleaning up
resource pools, which involved removing their use of fiberize which
currently has no destroy mechanism.
As part of this, there's a new parallelism limiter mechanism using
resource pools rather than fibers, and also a fixed size resource
pool.
The tests now drain? and destroy the resource pools to check cleaning
up.
2025-06-26 10:43:46 +02:00
7ba77010ae
Handle %stacks not being a pair
...
Not sure when this would happen, but guard against it.
2025-05-15 09:26:29 +01:00
8c63ed7b4e
Support listing resource pool resources
2025-05-15 09:24:28 +01:00
838ee6f1e3
Enable destroying individual resources in a resource pool
2025-05-15 09:24:28 +01:00
1dca6d755e
Allow specifying the resource-pool-channel
2025-04-27 10:52:36 +01:00
68cfbe0380
Use a condition for destroying resource pools
...
This avoids the situation where the resource pool is destroyed, so
there's no fiber to listen to the destroy request.
2025-04-27 10:03:06 +01:00
4f0eafef0a
Resource pool max waiters and destroy changes
...
Add the ability to specify the max number of waiters for a resource
pool, this provides a more efficient way of avoiding waiters for a
resource pool continually rising.
This commit also improves the destroy behaviour.
2025-04-27 09:41:56 +01:00
8c0f04be4f
Don't call put-message without unwinding the stack
...
When handling exceptions, as this is error prone.
2025-04-01 17:47:11 +03:00
21e328aebb
Improve exception reporting
2025-02-27 13:22:36 +00:00
6337103525
Remove the resource pool reply timeout
...
By being smarter about how long to wait for replies.
2025-02-04 13:16:38 +00:00
a11cd24e57
Improve resource pool performance when there are lots of waiters
2025-02-04 13:16:10 +00:00
aadbee0d0e
Improve handling of idle resources in the resource pool
2025-02-04 11:13:15 +00:00
bddc6c04ad
Fix idle resource removal in the resource pool
2025-02-03 12:16:16 +01:00
a2ab770536
Tweak resource pool backtraces
2025-02-03 12:16:07 +01:00
dc98ef9dcc
Improve exception reporting in the resource pool
2025-02-03 10:37:45 +01:00
823cd95628
Guard against the remove message not working
2025-02-03 09:55:57 +01:00
2910e66150
Fix issue with parallel creating resource pool resources
2025-02-02 11:29:25 +01:00
61451907a9
Improve resource pool destruction
2025-01-31 12:33:50 +01:00
eebb42e7a7
Default to an resource-pool add-resources-parallelism of 1
...
So that there aren't issues with concurrent resource addition, at
least by default.
2025-01-30 09:57:14 +01: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
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
2f39c58d6c
Initial commit
2024-12-16 09:18:12 +00:00