Skip to content
Draft
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ CLAUDE.md
docs/nav_order_index.txt
rust/.cargo/config.toml
sandbox/pgadmin-data/*
.claude/settings.json
plans/*
.claude/settings.json
.entire/.gitignore
.entire/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
-- Scheduler orchestrator tables for distributed cluster assignment (Mode 4)

CREATE TABLE scheduler_instance (
pk_instance UUID PRIMARY KEY,
str_name VARCHAR(256) NOT NULL,
str_facility VARCHAR(256),
ts_heartbeat TIMESTAMPTZ NOT NULL DEFAULT NOW(),
ts_registered TIMESTAMPTZ NOT NULL DEFAULT NOW(),
int_capacity INTEGER NOT NULL DEFAULT 100,
float_jobs_queried DOUBLE PRECISION NOT NULL DEFAULT 0,
b_draining BOOLEAN NOT NULL DEFAULT FALSE
);

CREATE INDEX idx_scheduler_instance_heartbeat ON scheduler_instance(ts_heartbeat);

CREATE TABLE scheduler_cluster_assignment (
pk_assignment UUID PRIMARY KEY DEFAULT gen_random_uuid(),
pk_instance UUID NOT NULL REFERENCES scheduler_instance(pk_instance) ON DELETE CASCADE,
str_cluster_id TEXT NOT NULL,
str_cluster_json TEXT NOT NULL,
int_version INTEGER NOT NULL DEFAULT 0,
ts_assigned TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE(str_cluster_id)
);

CREATE INDEX idx_sca_instance ON scheduler_cluster_assignment(pk_instance);
2 changes: 2 additions & 0 deletions rust/crates/scheduler/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ sentry = { version = "0.47", features = ["tracing"] }
axum = "0.7"
tower-http = { version = "0.5", features = ["trace"] }
urlencoding = "2.1"
gethostname = "0.4"
rand = "0.8"

[features]
default = []
Expand Down
Loading
Loading