Skip to content

Commit

Permalink
Merge pull request #130 from traP-jp/fix/#129-remove-priority-in-proc…
Browse files Browse the repository at this point in the history
…edure

⚡️ remove priority
  • Loading branch information
comavius authored Feb 18, 2025
2 parents 65b7930 + b5b77db commit 6b3403f
Show file tree
Hide file tree
Showing 6 changed files with 2 additions and 17 deletions.
1 change: 0 additions & 1 deletion lib/judge_core/src/job.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ pub trait JobApi<JobOutcome: Clone>: Clone {
fn run_future(
&self,
job_conf: ExecutionJob<JobOutcome>,
priority: i32,
) -> impl Future<
Output = Result<
impl Future<Output = Result<ExecutionJobFinished<JobOutcome>, ExecutionJobError>>,
Expand Down
1 change: 0 additions & 1 deletion lib/judge_core/src/procedure/registered.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ pub struct Execution {
pub script: String,
pub depends_on: Vec<DependsOn>,
pub dep_id: DepId,
pub priority: i32,
}

pub struct DependsOn {
Expand Down
1 change: 0 additions & 1 deletion lib/judge_core/src/procedure/runtime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ pub struct Execution {
pub script: String,
pub depends_on: Vec<DependsOn>,
pub runtime_id: RuntimeId,
pub priority: i32,
}

pub struct DependsOn {
Expand Down
14 changes: 2 additions & 12 deletions lib/judge_core/src/runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ impl<JobOutcomeType: Clone, JobApiType: JobApi<JobOutcomeType>> Runner<JobOutcom
}
// Create execution jobs
let mut execution_jobs = HashMap::new();
let mut priorities = HashMap::new();
for execution in procedure.executions.iter() {
let mut depends_on_with_names = Vec::new();
for depends_on in execution.depends_on.iter() {
Expand All @@ -144,13 +143,12 @@ impl<JobOutcomeType: Clone, JobApiType: JobApi<JobOutcomeType>> Runner<JobOutcom
depends_on_with_names,
};
execution_jobs.insert(execution.runtime_id, job);
priorities.insert(execution.runtime_id, execution.priority);
}
// Run futures
let file_placement_job_futures =
self.file_placement_job_futures(file_placement_jobs, file_placement_outcome_txs)?;
let execution_job_futures = self
.execution_job_futures(execution_jobs, execution_outcome_txs, priorities)
.execution_job_futures(execution_jobs, execution_outcome_txs)
.await?;
let execution_job_results = self
.run_all_futures(file_placement_job_futures, execution_job_futures)
Expand Down Expand Up @@ -193,21 +191,13 @@ impl<JobOutcomeType: Clone, JobApiType: JobApi<JobOutcomeType>> Runner<JobOutcom
RuntimeId,
broadcast::Sender<JobOutcomeAcquisitionResult<JobOutcomeType>>,
>,
priorities: HashMap<RuntimeId, i32>,
) -> Result<
HashMap<RuntimeId, impl Future<Output = Result<ExecutionJobOutput, RunnerRunError>> + 'a>,
RunnerRunError,
> {
// Execution job futures
let mut execution_job_futures = HashMap::new();
for (job_id, job_conf) in execution_jobs.into_iter() {
// Get priority of the job
let priority = priorities
.get(&job_id)
.ok_or(RunnerRunError::InternalError(format!(
"Job {} is not found in priorities",
job_id
)))?;
// Broadcast tx to channels to the JobAPI
let job_outcome_tx =
outcome_txs
Expand All @@ -219,7 +209,7 @@ impl<JobOutcomeType: Clone, JobApiType: JobApi<JobOutcomeType>> Runner<JobOutcom
// Job API run future
let run_future = self
.job_api
.run_future(job_conf, *priority)
.run_future(job_conf)
.await
.map_err(|e| RunnerRunError::InternalError(e.to_string()))?;
// Whole execution job future
Expand Down
1 change: 0 additions & 1 deletion lib/judge_core/src/writer_schema_transpiler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ pub fn transpile(
script: script,
depends_on: dependencies,
dep_id: dep_id,
priority: priority,
};
executions.push(execution);
}
Expand Down
1 change: 0 additions & 1 deletion lib/local_jobapi/src/jobapi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ impl<ProblemRegistryClient: problem_registry::ProblemRegistryClient + Clone> job
async fn run_future(
&self,
job_conf: job::ExecutionJob<JobOutcome>,
_: i32,
) -> Result<
impl Future<Output = Result<job::ExecutionJobFinished<JobOutcome>, job::ExecutionJobError>>,
job::ExecutionJobPreparationError,
Expand Down

0 comments on commit 6b3403f

Please sign in to comment.