Skip to content

Commit 8b5ef7d

Browse files
committed
feat(ns): implement namespace updates, global cache purge
1 parent 008ff72 commit 8b5ef7d

File tree

50 files changed

+814
-262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+814
-262
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
[workspace]
33
resolver = "2"
4-
members = ["packages/common/api-builder","packages/common/api-client","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/udb-util","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-outbound","packages/core/pegboard-runner-ws","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol","sdks/rust/ups-protocol"]
4+
members = ["packages/common/api-builder","packages/common/api-client","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/udb-util","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-outbound","packages/core/pegboard-runner-ws","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/internal","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol","sdks/rust/ups-protocol"]
55

66
[workspace.package]
77
version = "0.0.1"
@@ -280,7 +280,6 @@ path = "packages/common/error/core"
280280

281281
[workspace.dependencies.rivet-error-macros]
282282
path = "packages/common/error/macros"
283-
284283
[workspace.dependencies.gas]
285284
package = "gasoline"
286285
path = "packages/common/gasoline/core"
@@ -382,6 +381,9 @@ path = "packages/infra/engine"
382381
[workspace.dependencies.epoxy]
383382
path = "packages/services/epoxy"
384383

384+
[workspace.dependencies.internal]
385+
path = "packages/services/internal"
386+
385387
[workspace.dependencies.namespace]
386388
path = "packages/services/namespace"
387389

docker/dev/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ services:
187187
environment:
188188
- RIVET_ENDPOINT=http://rivet-engine:6420
189189
- RUNNER_HOST=runner
190-
# - NO_AUTOSTART=1
190+
- NO_AUTOSTART=1
191191
stop_grace_period: 4s
192192
ports:
193193
- '5050:5050'

docker/dev/rivet-engine/config.jsonc

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,6 @@
3232
"postgres": {
3333
"url": "postgresql://postgres:postgres@postgres:5432/rivet_engine"
3434
},
35-
"postgres_notify": {
36-
"url": "postgresql://postgres:postgres@postgres:5432/rivet_engine",
37-
"memory_optimization": false
38-
},
39-
// "memory": {
40-
// "channel": "default"
41-
// },
4235
"cache": {
4336
"driver": "in_memory"
4437
},

out/errors/namespace.invalid_update.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.

out/openapi.json

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

packages/common/cache/build/src/key.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use serde::{Deserialize, Serialize};
12
use std::fmt::Debug;
23

34
/// A type that can be serialized in to a key that can be used in the cache.
@@ -78,3 +79,18 @@ impl_to_string!(i32);
7879
impl_to_string!(i64);
7980
impl_to_string!(i128);
8081
impl_to_string!(isize);
82+
83+
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
84+
pub struct RawCacheKey(String);
85+
86+
impl CacheKey for RawCacheKey {
87+
fn cache_key(&self) -> String {
88+
self.0.clone()
89+
}
90+
}
91+
92+
impl From<String> for RawCacheKey {
93+
fn from(value: String) -> Self {
94+
RawCacheKey(value)
95+
}
96+
}

packages/common/gasoline/core/src/db/kv/keys/history.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,7 @@ impl<'de> TupleUnpack<'de> for InnerEventTypeKey {
11511151
}
11521152
}
11531153

1154+
#[derive(Debug)]
11541155
pub struct TagKey {
11551156
workflow_id: Id,
11561157
location: Location,

packages/common/gasoline/core/src/db/kv/keys/workflow.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ impl TuplePack for LeaseSubspaceKey {
7171
}
7272
}
7373

74+
#[derive(Debug)]
7475
pub struct TagKey {
7576
workflow_id: Id,
7677
pub k: String,
@@ -882,6 +883,7 @@ impl TuplePack for PendingSignalSubspaceKey {
882883
}
883884
}
884885

886+
#[derive(Debug)]
885887
pub struct ByNameAndTagKey {
886888
workflow_name: String,
887889
k: String,

packages/common/gasoline/macros/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ pub fn operation(attr: TokenStream, item: TokenStream) -> TokenStream {
166166

167167
let struct_ident = Ident::new(&name, proc_macro2::Span::call_site());
168168
let fn_name = item_fn.sig.ident.to_string();
169+
let generics = &item_fn.sig.generics;
169170
let fn_body = item_fn.block;
170171
let vis = item_fn.vis;
171172

@@ -186,7 +187,7 @@ pub fn operation(attr: TokenStream, item: TokenStream) -> TokenStream {
186187
const NAME: &'static str = #fn_name;
187188
const TIMEOUT: std::time::Duration = std::time::Duration::from_secs(#timeout);
188189

189-
async fn run(#ctx_ident: #ctx_ty, #input_ident: &Self::Input) -> Result<Self::Output> {
190+
async fn run #generics (#ctx_ident: #ctx_ty, #input_ident: &Self::Input) -> Result<Self::Output> {
190191
#fn_body
191192
}
192193
}

0 commit comments

Comments
 (0)