hive-c0re: bound forge API calls so a stalled forge can't wedge the swarm event loop
forgejo-api 0.11.1 takes no caller-built client, so a request to a forge that accepts the connection and never answers waited forever. Every forge::api() call site now goes through forge::bounded, a 10s timeout that errors naming the operation. The PR-comment calls run inline in swarm_status::drain_swarm_events, the one task serving both swarm subscriptions, so a stalled forge stopped both. Refs #5066
This commit is contained in:
parent
7214b4c22f
commit
2b0154be28
5 changed files with 111 additions and 41 deletions
|
|
@ -62,5 +62,8 @@ problem_details = { version = "0.9.0", features = ["axum"] }
|
|||
utoipa.workspace = true
|
||||
utoipa-axum.workspace = true
|
||||
|
||||
# `test-util` for `#[tokio::test(start_paused = true)]`: `forge::bounded`'s
|
||||
# test asserts the deadline fires without waiting it out.
|
||||
[dev-dependencies]
|
||||
tempfile = "3"
|
||||
tokio = { workspace = true, features = ["test-util"] }
|
||||
|
|
|
|||
Loading…
Reference in a new issue