Skip to content

Commit

Permalink
bug: NERC Execution (#19)
Browse files Browse the repository at this point in the history
* Ensure sim files are made
* Make errors easier to follow
  • Loading branch information
cbolles committed Nov 22, 2024
1 parent a048dc8 commit d332d94
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
39 changes: 19 additions & 20 deletions packages/backend/src/simulation/simulation.consumer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,14 @@ export class SimulationRequestConsumer extends WorkerHost {
async process(job: Job<SimulationRequest, any, string>): Promise<any> {
const request = job.data;
// Start the COMETs job
try {
const jobName = await this.jobService.triggerJob(request);
// Wait for the job to complete
const status = await this.awaitCompletion(jobName);
// If the status is error, collect and send error data
if (status == JobStatus.FAILURE) {
await this.handleError(request, jobName);
} else {
await this.handleSuccess(request, jobName);
}
} catch (e) {
console.error(e);
throw e;
const jobName = await this.jobService.triggerJob(request);
// Wait for the job to complete
const status = await this.awaitCompletion(jobName);
// If the status is error, collect and send error data
if (status == JobStatus.FAILURE) {
await this.handleError(request, jobName);
} else {
await this.handleSuccess(request, jobName);
}
}

Expand All @@ -50,14 +45,18 @@ export class SimulationRequestConsumer extends WorkerHost {
* Keep checking the status of the job once a second
*/
private async awaitCompletion(jobName: string): Promise<JobStatus> {
return new Promise(async (resolve, _reject) => {
return new Promise(async (resolve, reject) => {
const checkOperations = async () => {
const status = await this.jobService.getJobStatus(jobName);
if (status == JobStatus.RUNNING) {
setTimeout(checkOperations, 1000);
return;
} else {
resolve(status);
try {
const status = await this.jobService.getJobStatus(jobName);
if (status == JobStatus.RUNNING) {
setTimeout(checkOperations, 1000);
return;
} else {
resolve(status);
}
} catch (e) {
reject(e);
}
};
await checkOperations();
Expand Down
1 change: 1 addition & 0 deletions packages/runner/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ async def main():
# Set size
layout.grid = layout_builder.get_grid_size()
layout.add_barriers(layout_builder.get_barrier())
layout.write_necessary_files('./sim_files/')

# Add models
[layout.add_model(model) for model in models]
Expand Down

0 comments on commit d332d94

Please sign in to comment.