Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
ac0dd77
WIP
LinZhihao-723 May 29, 2026
dced92e
Done.
LinZhihao-723 May 29, 2026
7e87422
Merge branch 'main' into scheduler-skeleton
LinZhihao-723 May 29, 2026
9c436bd
Update dispatch queue's trait.
LinZhihao-723 May 30, 2026
2013cbf
Merge branch 'scheduler-skeleton' of https://github.com/LinZhihao-723…
LinZhihao-723 May 30, 2026
5650d5a
Fix done.
LinZhihao-723 May 31, 2026
0c8575e
Merge branch 'task-id-fix' into dispatch-queue-impl
LinZhihao-723 May 31, 2026
10cb6ad
Add channel-based dispatch queue implementation.
LinZhihao-723 Jun 1, 2026
dda7770
Done.
LinZhihao-723 Jun 3, 2026
25045e2
Polish.
LinZhihao-723 Jun 3, 2026
8b722d7
Core implementation done.
LinZhihao-723 Jun 4, 2026
1068066
Add black-box unit testing.
LinZhihao-723 Jun 4, 2026
bc61958
Add cleanup and commit tasks.
LinZhihao-723 Jun 4, 2026
8c8bdf3
Add the last.
LinZhihao-723 Jun 4, 2026
9ef086c
Add commit and cleanup testing.
LinZhihao-723 Jun 4, 2026
7af3840
Add test for session bump.
LinZhihao-723 Jun 4, 2026
4c300f3
Done with implementation and testing.
LinZhihao-723 Jun 5, 2026
e678b75
Merge oss-main
LinZhihao-723 Jun 5, 2026
59e22b9
Merge oss-main.
LinZhihao-723 Jun 13, 2026
97a096e
Rename to and update the related var names accordingly.
LinZhihao-723 Jun 15, 2026
9a22d13
Update commit-ready dispatching behavior.
LinZhihao-723 Jun 15, 2026
b306a9d
Rename prefix to in member variables to fix linter errors.
LinZhihao-723 Jun 15, 2026
d7f0940
Polish mod-level docstring.
LinZhihao-723 Jun 15, 2026
590110e
Replace SystemTime by Instant.
LinZhihao-723 Jun 15, 2026
2165cb8
Make expiration timeout configurable.
LinZhihao-723 Jun 15, 2026
42bd425
Merge branch 'main' into scheduler-core-impl
LinZhihao-723 Jun 15, 2026
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: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion components/spider-scheduler/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ path = "src/lib.rs"
[dependencies]
async-channel = "2.3.1"
async-trait = "0.1.89"
serde = { version = "1.0.228", features = ["derive"] }
spider-core = { path = "../spider-core" }
spider-proto-rust = { path = "../spider-proto-rust" }
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = ["sync", "time"] }
tokio = { version = "1.52.3", features = ["macros", "rt", "sync", "time"] }
tokio-util = "0.7.18"
tonic = "0.12.3"
tracing = { version = "0.1.41", default-features = false, features = ["std"] }

[dev-dependencies]
anyhow = "1.0.102"
Expand Down
8 changes: 4 additions & 4 deletions components/spider-scheduler/src/core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ use crate::{
/// share the same runtime entry point.
#[async_trait]
pub trait SchedulerCore: Send {
/// The storage client used by the core to poll and read for placement decisions.
type StorageClient: SchedulerStorageClient;

/// The dispatch sink the core writes assignments to.
type Sink: DispatchQueueSink;

/// The storage client used by the core to poll and read for placement decisions.
type StorageClient: SchedulerStorageClient;

/// Runs the scheduling loop until `cancellation_token` is triggered.
///
/// The core polls the inbound queue through `storage_client`, applies its scheduling algorithm,
Expand All @@ -39,7 +39,7 @@ pub trait SchedulerCore: Send {
///
/// Returns a [`SchedulerError`] instance indicating an irrecoverable error.
async fn run(
&mut self,
self,
storage_client: Self::StorageClient,
sink: Self::Sink,
cancellation_token: tokio_util::sync::CancellationToken,
Expand Down
3 changes: 3 additions & 0 deletions components/spider-scheduler/src/core_impl/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mod round_robin;

pub use round_robin::*;
Loading
Loading