@lage-run/scheduler
Advanced tools
Comparing version 0.7.0 to 0.7.1
@@ -5,3 +5,24 @@ { | ||
{ | ||
"date": "Mon, 05 Dec 2022 18:02:26 GMT", | ||
"date": "Tue, 06 Dec 2022 00:47:50 GMT", | ||
"tag": "@lage-run/scheduler_v0.7.1", | ||
"version": "0.7.1", | ||
"comments": { | ||
"patch": [ | ||
{ | ||
"author": "kchau@microsoft.com", | ||
"package": "@lage-run/scheduler", | ||
"commit": "3fa4b9c8aa67cbc2198385e32fa38de123541f09", | ||
"comment": "creating the beginnings of a progress reporter - it's in beta" | ||
}, | ||
{ | ||
"author": "beachball", | ||
"package": "@lage-run/scheduler", | ||
"comment": "Bump @lage-run/scheduler-types to v0.2.10", | ||
"commit": "3fa4b9c8aa67cbc2198385e32fa38de123541f09" | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"date": "Mon, 05 Dec 2022 18:02:35 GMT", | ||
"tag": "@lage-run/scheduler_v0.7.0", | ||
@@ -8,0 +29,0 @@ "version": "0.7.0", |
# Change Log - @lage-run/scheduler | ||
This log was last generated on Mon, 05 Dec 2022 18:02:26 GMT and should not be manually modified. | ||
This log was last generated on Tue, 06 Dec 2022 00:47:50 GMT and should not be manually modified. | ||
<!-- Start content --> | ||
## 0.7.1 | ||
Tue, 06 Dec 2022 00:47:50 GMT | ||
### Patches | ||
- creating the beginnings of a progress reporter - it's in beta (kchau@microsoft.com) | ||
- Bump @lage-run/scheduler-types to v0.2.10 | ||
## 0.7.0 | ||
Mon, 05 Dec 2022 18:02:26 GMT | ||
Mon, 05 Dec 2022 18:02:35 GMT | ||
@@ -11,0 +20,0 @@ ### Minor changes |
import type { TargetRunSummary, TargetRun } from "@lage-run/scheduler-types"; | ||
export declare function categorizeTargetRuns(targetRuns: TargetRun[]): TargetRunSummary; | ||
export declare function categorizeTargetRuns<T extends TargetRun>(targetRuns: IterableIterator<T>): TargetRunSummary; |
@@ -65,2 +65,3 @@ /// <reference types="node" /> | ||
scheduleReadyTargets(): Promise<void>; | ||
logProgress(): void; | ||
cleanup(): Promise<void>; | ||
@@ -67,0 +68,0 @@ /** |
@@ -96,5 +96,3 @@ "use strict"; | ||
duration = process.hrtime(startTime); | ||
targetRunByStatus = (0, _categorizeTargetRunsJs.categorizeTargetRuns)([ | ||
...this.targetRuns.values() | ||
]); | ||
targetRunByStatus = (0, _categorizeTargetRunsJs.categorizeTargetRuns)(this.targetRuns.values()); | ||
if (targetRunByStatus.failed.length + targetRunByStatus.aborted.length + targetRunByStatus.pending.length + targetRunByStatus.running.length === 0) { | ||
@@ -175,2 +173,15 @@ results = "success"; | ||
} | ||
logProgress() { | ||
const targetRunByStatus = (0, _categorizeTargetRunsJs.categorizeTargetRuns)(this.targetRuns.values()); | ||
const total = [ | ||
...this.targetRuns.values() | ||
].filter((t)=>!t.target.hidden).length; | ||
this.options.logger.verbose("", { | ||
progress: { | ||
waiting: targetRunByStatus.pending.length + targetRunByStatus.queued.length, | ||
completed: targetRunByStatus.aborted.length + targetRunByStatus.failed.length + targetRunByStatus.skipped.length + targetRunByStatus.success.length, | ||
total | ||
} | ||
}); | ||
} | ||
async cleanup() { | ||
@@ -233,2 +244,3 @@ this.options.logger.silly(`Max Worker Memory Usage: ${(0, _formatBytesJs.formatBytes)(this.pool.stats().maxWorkerMemoryUsage)}`); | ||
} | ||
this.logProgress(); | ||
// finally do another round of scheduling to run next round of targets | ||
@@ -235,0 +247,0 @@ await this.scheduleReadyTargets(); |
@@ -34,2 +34,3 @@ /// <reference types="node" /> | ||
status: TargetStatus; | ||
threadId: number; | ||
result: Promise<{ | ||
@@ -36,0 +37,0 @@ stdoutBuffer: string; |
@@ -42,3 +42,4 @@ "use strict"; | ||
target: this.target, | ||
status: "aborted" | ||
status: "aborted", | ||
threadId: this.threadId | ||
}); | ||
@@ -52,3 +53,4 @@ } | ||
target: this.target, | ||
status: "running" | ||
status: "running", | ||
threadId: this.threadId | ||
}); | ||
@@ -63,3 +65,4 @@ } | ||
status: "success", | ||
duration: this.duration | ||
duration: this.duration, | ||
threadId: this.threadId | ||
}); | ||
@@ -73,3 +76,4 @@ } | ||
status: "failed", | ||
duration: this.duration | ||
duration: this.duration, | ||
threadId: this.threadId | ||
}); | ||
@@ -87,3 +91,4 @@ if (!this.options.continueOnError && this.options.abortController) { | ||
duration: this.duration, | ||
hash | ||
hash, | ||
threadId: this.threadId | ||
}); | ||
@@ -195,3 +200,4 @@ } | ||
target | ||
}, target.weight ?? 1, (_worker, stdout, stderr)=>{ | ||
}, target.weight ?? 1, (worker, stdout, stderr)=>{ | ||
this.threadId = worker.threadId; | ||
this.onStart(); | ||
@@ -201,3 +207,4 @@ stdout.pipe(bufferStdout.transform); | ||
const releaseStdoutStream = logger.stream(_logger.LogLevel.verbose, stdout, { | ||
target | ||
target, | ||
threadId: this.threadId | ||
}); | ||
@@ -209,3 +216,4 @@ releaseStdout = ()=>{ | ||
const releaseStderrStream = logger.stream(_logger.LogLevel.verbose, stderr, { | ||
target | ||
target, | ||
threadId: this.threadId | ||
}); | ||
@@ -252,2 +260,3 @@ releaseStderr = ()=>{ | ||
]; | ||
this.threadId = 0; | ||
this.status = "pending"; | ||
@@ -254,0 +263,0 @@ this.target = options.target; |
{ | ||
"name": "@lage-run/scheduler", | ||
"version": "0.7.0", | ||
"version": "0.7.1", | ||
"description": "Scheduler for Lage", | ||
@@ -24,3 +24,3 @@ "repository": { | ||
"devDependencies": { | ||
"@lage-run/scheduler-types": "^0.2.9", | ||
"@lage-run/scheduler-types": "^0.2.10", | ||
"monorepo-scripts": "*" | ||
@@ -27,0 +27,0 @@ }, |
98206
2563