Skip to content

Commit 8aa1ff7

Browse files
j-mendezclaude
andcommitted
fix(spider): add 3s timeout to remote cache fallback in chrome_remote_cache-only path, bump v2.47.58
The remote-only get_cached_url_base variant (chrome_remote_cache without cache/cache_mem) was missing a timeout on get_cache_site, which could block indefinitely if the remote cache server is slow or down. Now matches the cache/cache_mem variant with a 3s cap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 91909bd commit 8aa1ff7

8 files changed

Lines changed: 18 additions & 14 deletions

File tree

spider/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "A web crawler and scraper, building blocks for data curation workloads."
66
repository = "https://github.com/spider-rs/spider"
@@ -122,11 +122,11 @@ features = ["serde", "headers", "dynamic-versions"]
122122

123123
[dependencies.spider_agent_types]
124124
path = "../spider_agent_types"
125-
version = "2.47.57"
125+
version = "2.47.58"
126126

127127
[dependencies.spider_agent]
128128
path = "../spider_agent"
129-
version = "2.47.57"
129+
version = "2.47.58"
130130
optional = true
131131
default-features = false
132132

spider/src/utils/mod.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5204,8 +5204,12 @@ pub async fn get_cached_url_base(
52045204
}
52055205

52065206
// Pull from the remote cache server once, then retry local session lookup.
5207-
chromiumoxide::cache::remote::get_cache_site(target_url, auth_opt.as_deref(), Some("true"))
5208-
.await;
5207+
// Timeout prevents blocking the critical path if the cache server is slow/down.
5208+
let _ = tokio::time::timeout(
5209+
Duration::from_secs(3),
5210+
chromiumoxide::cache::remote::get_cache_site(target_url, auth_opt.as_deref(), Some("true")),
5211+
)
5212+
.await;
52095213

52105214
if let Some(body) = try_get(target_url) {
52115215
return Some(body);

spider_agent/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider_agent"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "A concurrent-safe multimodal agent for web automation and research."
66
repository = "https://github.com/spider-rs/spider"
@@ -28,8 +28,8 @@ parking_lot = "0.12"
2828
base64 = "0.22"
2929

3030
# Extracted types and HTML processing
31-
spider_agent_types = { version = "2.47.57", path = "../spider_agent_types" }
32-
spider_agent_html = { version = "2.47.57", path = "../spider_agent_html" }
31+
spider_agent_types = { version = "2.47.58", path = "../spider_agent_types" }
32+
spider_agent_html = { version = "2.47.58", path = "../spider_agent_html" }
3333

3434
# HTML processing (still needed for engine internals)
3535
lol_html = "2"

spider_agent_html/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider_agent_html"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "HTML processing utilities for spider_agent — cleaning, content analysis, and diffing."
66
repository = "https://github.com/spider-rs/spider"
@@ -24,7 +24,7 @@ serde = { version = "1", features = ["derive"] }
2424
serde_json = "1"
2525

2626
# Types from our types crate
27-
spider_agent_types = { version = "2.47.57", path = "../spider_agent_types" }
27+
spider_agent_types = { version = "2.47.58", path = "../spider_agent_types" }
2828

2929
[dev-dependencies]
3030
serde_json = "1"

spider_agent_types/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider_agent_types"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "Pure data types and constants for spider_agent automation. Zero heavy dependencies."
66
repository = "https://github.com/spider-rs/spider"

spider_cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider_cli"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "The fastest web crawler CLI written in Rust."
66
repository = "https://github.com/spider-rs/spider"

spider_utils/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider_utils"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "Utilities to use for Spider Web Crawler."
66
repository = "https://github.com/spider-rs/spider"

spider_worker/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spider_worker"
3-
version = "2.47.57"
3+
version = "2.47.58"
44
authors = ["j-mendez <jeff@spider.cloud>"]
55
description = "The fastest web crawler as a worker or proxy."
66
repository = "https://github.com/spider-rs/spider"

0 commit comments

Comments
 (0)