Skip to content

Commit cd89bc9

Browse files
committed
fix(pb-envoy): reduce round trips for ws connection
1 parent f171f60 commit cd89bc9

File tree

20 files changed

+277
-392
lines changed

20 files changed

+277
-392
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@ members = [
5656
"engine/sdks/rust/envoy-protocol",
5757
"engine/sdks/rust/epoxy-protocol",
5858
"engine/sdks/rust/test-envoy",
59-
"engine/sdks/rust/ups-protocol",
60-
"rivetkit-typescript/packages/rivetkit-native",
61-
"rivetkit-typescript/packages/sqlite-native"
59+
"engine/sdks/rust/ups-protocol"
6260
]
6361

6462
[workspace.package]
@@ -137,7 +135,6 @@ members = [
137135
tokio-cron-scheduler = "0.13.0"
138136
tokio-native-tls = "0.3.1"
139137
tokio-stream = "0.1.15"
140-
tokio-tungstenite = { version = "0.26.0", features = ["rustls-tls-native-roots"] }
141138
tokio-util = "0.7"
142139
tower = "0.5"
143140
tracing = "0.1.40"
@@ -147,6 +144,10 @@ members = [
147144
vergen-gitcl = "1.0.0"
148145
reqwest-eventsource = "0.6.0"
149146

147+
[workspace.dependencies.tokio-tungstenite]
148+
version = "0.26.0"
149+
features = [ "rustls-tls-native-roots" ]
150+
150151
[workspace.dependencies.rdkafka]
151152
version = "0.38.0"
152153
features = [ "ssl" ]
@@ -531,9 +532,6 @@ members = [
531532
[workspace.dependencies.rivet-ups-protocol]
532533
path = "engine/sdks/rust/ups-protocol"
533534

534-
[workspace.dependencies.rivetkit-sqlite-native]
535-
path = "rivetkit-typescript/packages/sqlite-native"
536-
537535
[profile.dev]
538536
overflow-checks = false
539537
debug = true

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)