Skip to content

Commit 002100d

Browse files
committed
fix(pb-envoy): reduce round trips for ws connection
1 parent c694cb5 commit 002100d

File tree

19 files changed

+276
-265
lines changed

19 files changed

+276
-265
lines changed

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@ members = [
144144
vergen-gitcl = "1.0.0"
145145
reqwest-eventsource = "0.6.0"
146146

147+
[workspace.dependencies.tokio-tungstenite]
148+
version = "0.26.0"
149+
features = [ "rustls-tls-native-roots" ]
150+
147151
[workspace.dependencies.vergen]
148152
version = "9.0.4"
149153
features = [ "build", "cargo", "rustc" ]
@@ -176,10 +180,6 @@ members = [
176180
[workspace.dependencies.pest]
177181
version = "2.7"
178182

179-
[workspace.dependencies.tokio-tungstenite]
180-
version = "0.26.0"
181-
features = ["rustls-tls-native-roots"]
182-
183183
[workspace.dependencies.rocksdb]
184184
version = "0.24"
185185
features = [ "multi-threaded-cf" ]

engine/artifacts/config-schema.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

engine/artifacts/errors/ws.timed_out.json

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

engine/packages/api-types/src/namespaces/runner_configs.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ pub enum RunnerConfigKind {
2323
/// Seconds.
2424
request_lifespan: u32,
2525
max_concurrent_actors: Option<u64>,
26+
/// Seconds.
27+
drain_grace_period: Option<u32>,
2628
slots_per_runner: u32,
2729
min_runners: Option<u32>,
2830
max_runners: u32,
@@ -50,6 +52,7 @@ impl Into<rivet_types::runner_configs::RunnerConfig> for RunnerConfig {
5052
headers,
5153
request_lifespan,
5254
max_concurrent_actors,
55+
drain_grace_period,
5356
slots_per_runner,
5457
min_runners,
5558
max_runners,
@@ -60,6 +63,8 @@ impl Into<rivet_types::runner_configs::RunnerConfig> for RunnerConfig {
6063
headers: headers.unwrap_or_default(),
6164
request_lifespan,
6265
max_concurrent_actors: max_concurrent_actors.unwrap_or(max_runners as u64),
66+
// Default to deprecated config value (config.pegboard.serverless_drain_grace_period)
67+
drain_grace_period: drain_grace_period.unwrap_or(10_000),
6368
slots_per_runner,
6469
min_runners: min_runners.unwrap_or_default(),
6570
max_runners,

engine/packages/config/src/config/pegboard.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ pub struct Pegboard {
138138
pub envoy_eligible_threshold: Option<i64>,
139139

140140
// === Serverless Settings ===
141+
/// **Deprecated** Configure the drain period in the runner config.
142+
///
141143
/// Drain grace period for serverless runners.
142144
///
143145
/// This time is subtracted from the configured request duration. Once `duration - grace` is reached, the

0 commit comments

Comments
 (0)