@lage-run/scheduler 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,46 @@
2
2
  "name": "@lage-run/scheduler",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 26 Aug 2022 06:34:41 GMT",
5
+ "date": "Sun, 04 Sep 2022 23:00:04 GMT",
6
+ "tag": "@lage-run/scheduler_v0.3.0",
7
+ "version": "0.3.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "ken@gizzar.com",
12
+ "package": "@lage-run/scheduler",
13
+ "commit": "21bc0d3c799d654d236aa994e8e98ac5c250567c",
14
+ "comment": "Supports worker as a new target type"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@lage-run/scheduler",
19
+ "comment": "Bump @lage-run/target-graph to v0.3.0",
20
+ "commit": "21bc0d3c799d654d236aa994e8e98ac5c250567c"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@lage-run/scheduler",
25
+ "comment": "Bump @lage-run/logger to v1.2.0",
26
+ "commit": "21bc0d3c799d654d236aa994e8e98ac5c250567c"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@lage-run/scheduler",
31
+ "comment": "Bump @lage-run/cache to v0.1.7",
32
+ "commit": "21bc0d3c799d654d236aa994e8e98ac5c250567c"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@lage-run/scheduler",
37
+ "comment": "Bump @lage-run/worker-threads-pool to v0.1.1",
38
+ "commit": "21bc0d3c799d654d236aa994e8e98ac5c250567c"
39
+ }
40
+ ]
41
+ }
42
+ },
43
+ {
44
+ "date": "Fri, 26 Aug 2022 06:34:51 GMT",
6
45
  "tag": "@lage-run/scheduler_v0.2.0",
7
46
  "version": "0.2.0",
8
47
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,24 @@
1
1
  # Change Log - @lage-run/scheduler
2
2
 
3
- This log was last generated on Fri, 26 Aug 2022 06:34:41 GMT and should not be manually modified.
3
+ This log was last generated on Sun, 04 Sep 2022 23:00:04 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.3.0
8
+
9
+ Sun, 04 Sep 2022 23:00:04 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Supports worker as a new target type (ken@gizzar.com)
14
+ - Bump @lage-run/target-graph to v0.3.0
15
+ - Bump @lage-run/logger to v1.2.0
16
+ - Bump @lage-run/cache to v0.1.7
17
+ - Bump @lage-run/worker-threads-pool to v0.1.1
18
+
7
19
  ## 0.2.0
8
20
 
9
- Fri, 26 Aug 2022 06:34:41 GMT
21
+ Fri, 26 Aug 2022 06:34:51 GMT
10
22
 
11
23
  ### Minor changes
12
24
 
package/README.md CHANGED
@@ -24,6 +24,12 @@ const runner = new NpmScriptRunner({
24
24
  ...
25
25
  })
26
26
 
27
+ const runnerPicker = new TargetRunnerPicker({
28
+ runners: {
29
+ npmScript: runner
30
+ }
31
+ })
32
+
27
33
  const scheduler = new SimpleScheduler({
28
34
  logger,
29
35
  concurrency,
@@ -1,12 +1,12 @@
1
- import { TargetGraph } from "@lage-run/target-graph";
2
- import { Logger } from "@lage-run/logger";
1
+ import { AbortController } from "abort-controller";
3
2
  import { WrappedTarget } from "./WrappedTarget";
3
+ import type { AbortSignal } from "abort-controller";
4
4
  import type { CacheProvider, TargetHasher } from "@lage-run/cache";
5
- import type { TargetRunner } from "./types/TargetRunner";
5
+ import type { Logger } from "@lage-run/logger";
6
+ import type { SchedulerRunSummary } from "./types/SchedulerRunSummary";
7
+ import type { TargetGraph } from "@lage-run/target-graph";
8
+ import type { TargetRunnerPicker } from "./runners/TargetRunnerPicker";
6
9
  import type { TargetScheduler } from "./types/TargetScheduler";
7
- import type { AbortSignal } from "abort-controller";
8
- import { AbortController } from "abort-controller";
9
- import { SchedulerRunSummary } from "./types/SchedulerRunSummary";
10
10
  export interface SimpleSchedulerOptions {
11
11
  logger: Logger;
12
12
  concurrency: number;
@@ -15,7 +15,9 @@ export interface SimpleSchedulerOptions {
15
15
  hasher: TargetHasher;
16
16
  shouldCache: boolean;
17
17
  shouldResetCache: boolean;
18
- runner: TargetRunner;
18
+ runnerPicker: {
19
+ pick: TargetRunnerPicker["pick"];
20
+ };
19
21
  }
20
22
  /**
21
23
  * Simple scheduler that runs all targets in a promise graph using p-graph library.
@@ -4,12 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SimpleScheduler = void 0;
7
- const target_graph_1 = require("@lage-run/target-graph");
8
- const WrappedTarget_1 = require("./WrappedTarget");
9
- const p_graph_1 = __importDefault(require("p-graph"));
10
7
  const abort_controller_1 = require("abort-controller");
11
- const NoOpRunner_1 = require("./runners/NoOpRunner");
12
8
  const categorizeTargetRuns_1 = require("./categorizeTargetRuns");
9
+ const WrappedTarget_1 = require("./WrappedTarget");
10
+ const p_graph_1 = __importDefault(require("p-graph"));
13
11
  /**
14
12
  * Simple scheduler that runs all targets in a promise graph using p-graph library.
15
13
  *
@@ -41,7 +39,7 @@ class SimpleScheduler {
41
39
  */
42
40
  async run(root, targetGraph) {
43
41
  const startTime = process.hrtime();
44
- const { concurrency, continueOnError, logger, cacheProvider, shouldCache, shouldResetCache, hasher, runner } = this.options;
42
+ const { concurrency, continueOnError, logger, cacheProvider, shouldCache, shouldResetCache, hasher, runnerPicker } = this.options;
45
43
  const { dependencies, targets } = targetGraph;
46
44
  const pGraphNodes = new Map();
47
45
  const pGraphEdges = dependencies;
@@ -66,9 +64,7 @@ class SimpleScheduler {
66
64
  if (this.abortSignal.aborted) {
67
65
  return;
68
66
  }
69
- if (target.id === (0, target_graph_1.getStartTargetId)()) {
70
- return this.wrappedTargets.get(target.id).run(NoOpRunner_1.NoOpRunner);
71
- }
67
+ const runner = runnerPicker.pick(target);
72
68
  return this.wrappedTargets.get(target.id).run(runner);
73
69
  },
74
70
  priority: target.priority,
@@ -76,6 +72,8 @@ class SimpleScheduler {
76
72
  }
77
73
  let results = "failed";
78
74
  let error;
75
+ let duration = [0, 0];
76
+ let targetRunByStatus;
79
77
  try {
80
78
  await (0, p_graph_1.default)(pGraphNodes, pGraphEdges).run({
81
79
  concurrency,
@@ -86,8 +84,8 @@ class SimpleScheduler {
86
84
  error = e instanceof Error ? e.message : String(e);
87
85
  }
88
86
  finally {
89
- const duration = process.hrtime(startTime);
90
- const targetRunByStatus = (0, categorizeTargetRuns_1.categorizeTargetRuns)([...this.wrappedTargets.values()]);
87
+ duration = process.hrtime(startTime);
88
+ targetRunByStatus = (0, categorizeTargetRuns_1.categorizeTargetRuns)([...this.wrappedTargets.values()]);
91
89
  if (targetRunByStatus.failed.length +
92
90
  targetRunByStatus.aborted.length +
93
91
  targetRunByStatus.pending.length +
@@ -95,15 +93,15 @@ class SimpleScheduler {
95
93
  0) {
96
94
  results = "success";
97
95
  }
98
- return {
99
- targetRunByStatus,
100
- targetRuns: this.wrappedTargets,
101
- duration,
102
- startTime,
103
- results,
104
- error,
105
- };
106
96
  }
97
+ return {
98
+ targetRunByStatus,
99
+ targetRuns: this.wrappedTargets,
100
+ duration,
101
+ startTime,
102
+ results,
103
+ error,
104
+ };
107
105
  }
108
106
  /**
109
107
  * Abort the scheduler using the abort controller.
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleScheduler.js","sourceRoot":"","sources":["../src/SimpleScheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleScheduler.js","sourceRoot":"","sources":["../src/SimpleScheduler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Logger } from "@lage-run/logger";
2
- import { TargetHasher } from "@lage-run/cache";
1
+ import type { Logger } from "@lage-run/logger";
2
+ import type { TargetHasher } from "@lage-run/cache";
3
3
  import type { AbortController } from "abort-controller";
4
4
  import type { CacheProvider } from "@lage-run/cache";
5
5
  import type { Target } from "@lage-run/target-graph";
@@ -106,7 +106,7 @@ class WrappedTarget {
106
106
  const cachedOutput = fs_1.default.createReadStream(cachedOutputFile, "utf8");
107
107
  this.options.logger.verbose(">> Replaying cached output", { target });
108
108
  this.options.logger.stream(logger_1.LogLevel.verbose, cachedOutput, { target });
109
- return await new Promise((resolve, reject) => {
109
+ return await new Promise((resolve) => {
110
110
  cachedOutput.on("close", () => {
111
111
  this.onSkipped(hash);
112
112
  resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"WrappedTarget.js","sourceRoot":"","sources":["../src/WrappedTarget.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA+C;AAC/C,6CAAoD;AAQpD,+EAAwG;AACxG,4CAAoB;AAcpB;;;;;;GAMG;AACH,MAAa,aAAa;IAMxB,YAAmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QALhD,cAAS,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,aAAQ,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAKlC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,IAAA,4BAAW,EAAC,IAAI,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;SACtC;IACH,CAAC;IAED,SAAS,CAAC,IAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,IAAA,4BAAW,EAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE/D,IAAI,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE;YAC/B,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEjC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC7B,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACpD;SACF;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAmB;QACjC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAE/C,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAoB;QAC5B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;QAE3C,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;SACR;QAED,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEjD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC;YACzD,IAAI,YAAY,EAAE;gBAChB,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,gBAAgB,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;aACrE;YAED,qBAAqB;YACrB,IAAI,QAAQ,EAAE;gBACZ,MAAM,gBAAgB,GAAG,IAAA,wDAA0B,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC;gBAE7E,IAAI,YAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;oBACnC,MAAM,YAAY,GAAG,YAAE,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;oBACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;oBAEvE,OAAO,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;4BAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BACrB,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrB,OAAO;aACR;YAED;;eAEG;YAEH,iFAAiF;YACjF,MAAM,MAAM,CAAC,GAAG,CACd,MAAM,EACN,WAAW,EACX,IAAI;gBACF,CAAC,CAAC;oBACE,MAAM,EAAE,IAAA,yDAA2B,EAAC,MAAM,EAAE,IAAI,CAAC;oBACjD,MAAM,EAAE,IAAA,yDAA2B,EAAC,MAAM,EAAE,IAAI,CAAC;iBAClD;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;YAEF,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC5B;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,WAAW,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;iBAAM;gBACL,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;YAED,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;CACF;AA5KD,sCA4KC"}
1
+ {"version":3,"file":"WrappedTarget.js","sourceRoot":"","sources":["../src/WrappedTarget.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { Target } from "@lage-run/target-graph";
2
+ import type { Target } from "@lage-run/target-graph";
3
3
  import { Transform } from "node:stream";
4
4
  export declare function getLageOutputCacheLocation(target: Target, hash: string): string;
5
5
  export declare function createCachedOutputTransform(target: Target, hash: string): Transform;
@@ -26,11 +26,12 @@ function createCachedOutputTransform(target, hash) {
26
26
  });
27
27
  return transform;
28
28
  }
29
- return new node_stream_1.Transform({
29
+ const transform = new node_stream_1.Transform({
30
30
  transform(chunk, encoding, callback) {
31
31
  callback(null, chunk);
32
32
  },
33
33
  });
34
+ return transform;
34
35
  }
35
36
  exports.createCachedOutputTransform = createCachedOutputTransform;
36
37
  //# sourceMappingURL=createCachedOutputTransform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createCachedOutputTransform.js","sourceRoot":"","sources":["../src/createCachedOutputTransform.ts"],"names":[],"mappings":";;;;;;AACA,6CAAwC;AACxC,sDAAyB;AACzB,0DAA6B;AAE7B,SAAgB,0BAA0B,CAAC,MAAc,EAAE,IAAY;IACrE,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;IAC7E,OAAO,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAC9C,CAAC;AAHD,gEAGC;AAED,SAAgB,2BAA2B,CAAC,MAAc,EAAE,IAAY;IACtE,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC9B,iBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,iBAAE,CAAC,iBAAiB,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,IAAI,uBAAS,CAAC;YAC9B,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;gBACjC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,IAAI,uBAAS,CAAC;QACnB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;YACjC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAvBD,kEAuBC"}
1
+ {"version":3,"file":"createCachedOutputTransform.js","sourceRoot":"","sources":["../src/createCachedOutputTransform.ts"],"names":[],"mappings":";;;;;;AACA,6CAAwC;AACxC,sDAAyB;AACzB,0DAA6B;AAE7B,SAAgB,0BAA0B,CAAC,MAAc,EAAE,IAAY;IACrE,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;IAC7E,OAAO,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAC9C,CAAC;AAHD,gEAGC;AAED,SAAgB,2BAA2B,CAAC,MAAc,EAAE,IAAY;IACtE,MAAM,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC9B,iBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,iBAAE,CAAC,iBAAiB,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,IAAI,uBAAS,CAAC;YAC9B,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;gBACjC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,IAAI,uBAAS,CAAC;QAC9B,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;YACjC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAzBD,kEAyBC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hrToSeconds = exports.formatDuration = void 0;
4
4
  function formatDuration(seconds) {
5
- let raw = parseFloat(seconds);
5
+ const raw = parseFloat(seconds);
6
6
  if (raw > 60) {
7
7
  const minutes = Math.floor(raw / 60);
8
8
  const seconds = (raw - minutes * 60).toFixed(2);
@@ -15,7 +15,7 @@ function formatDuration(seconds) {
15
15
  }
16
16
  exports.formatDuration = formatDuration;
17
17
  function hrToSeconds(hrtime) {
18
- let raw = hrtime[0] + hrtime[1] / 1e9;
18
+ const raw = hrtime[0] + hrtime[1] / 1e9;
19
19
  return raw.toFixed(2);
20
20
  }
21
21
  exports.hrToSeconds = hrToSeconds;
@@ -1 +1 @@
1
- {"version":3,"file":"formatDuration.js","sourceRoot":"","sources":["../src/formatDuration.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc,CAAC,OAAe;IAC5C,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;KAClC;SAAM;QACL,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,GAAG,OAAO,GAAG,CAAC;KACtB;AACH,CAAC;AAVD,wCAUC;AAED,SAAgB,WAAW,CAAC,MAAwB;IAClD,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAHD,kCAGC"}
1
+ {"version":3,"file":"formatDuration.js","sourceRoot":"","sources":["../src/formatDuration.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc,CAAC,OAAe;IAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;KAClC;SAAM;QACL,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,GAAG,OAAO,GAAG,CAAC;KACtB;AACH,CAAC;AAVD,wCAUC;AAED,SAAgB,WAAW,CAAC,MAAwB;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAHD,kCAGC"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- export { SimpleScheduler } from "./SimpleScheduler";
2
1
  export { NpmScriptRunner } from "./runners/NpmScriptRunner";
2
+ export { SimpleScheduler } from "./SimpleScheduler";
3
+ export { TargetRunnerPicker } from "./runners/TargetRunnerPicker";
4
+ export { WorkerRunner } from "./runners/WorkerRunner";
3
5
  export type { TargetStatus } from "./types/TargetStatus";
4
6
  export type { TargetRun } from "./types/TargetRun";
5
7
  export type { TargetRunner } from "./types/TargetRunner";
package/lib/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NpmScriptRunner = exports.SimpleScheduler = void 0;
4
- var SimpleScheduler_1 = require("./SimpleScheduler");
5
- Object.defineProperty(exports, "SimpleScheduler", { enumerable: true, get: function () { return SimpleScheduler_1.SimpleScheduler; } });
3
+ exports.WorkerRunner = exports.TargetRunnerPicker = exports.SimpleScheduler = exports.NpmScriptRunner = void 0;
6
4
  var NpmScriptRunner_1 = require("./runners/NpmScriptRunner");
7
5
  Object.defineProperty(exports, "NpmScriptRunner", { enumerable: true, get: function () { return NpmScriptRunner_1.NpmScriptRunner; } });
6
+ var SimpleScheduler_1 = require("./SimpleScheduler");
7
+ Object.defineProperty(exports, "SimpleScheduler", { enumerable: true, get: function () { return SimpleScheduler_1.SimpleScheduler; } });
8
+ var TargetRunnerPicker_1 = require("./runners/TargetRunnerPicker");
9
+ Object.defineProperty(exports, "TargetRunnerPicker", { enumerable: true, get: function () { return TargetRunnerPicker_1.TargetRunnerPicker; } });
10
+ var WorkerRunner_1 = require("./runners/WorkerRunner");
11
+ Object.defineProperty(exports, "WorkerRunner", { enumerable: true, get: function () { return WorkerRunner_1.WorkerRunner; } });
8
12
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,6DAA4D;AAAnD,kHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA4D;AAAnD,kHAAA,eAAe,OAAA;AACxB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,mEAAkE;AAAzD,wHAAA,kBAAkB,OAAA;AAC3B,uDAAsD;AAA7C,4GAAA,YAAY,OAAA"}
@@ -1,2 +1,2 @@
1
- import { TargetRunner } from "../types/TargetRunner";
1
+ import type { TargetRunner } from "../types/TargetRunner";
2
2
  export declare const NoOpRunner: TargetRunner;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NoOpRunner = void 0;
4
4
  exports.NoOpRunner = {
5
- async run(_target) { },
5
+ async run() {
6
+ // pass
7
+ },
6
8
  };
7
9
  //# sourceMappingURL=NoOpRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NoOpRunner.js","sourceRoot":"","sources":["../../src/runners/NoOpRunner.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAiB;IACtC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAG,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"NoOpRunner.js","sourceRoot":"","sources":["../../src/runners/NoOpRunner.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAiB;IACtC,KAAK,CAAC,GAAG;QACP,OAAO;IACT,CAAC;CACF,CAAC"}
@@ -1,6 +1,6 @@
1
- import { AbortSignal } from "abort-controller";
2
- import { Logger } from "@lage-run/logger";
3
- import { TargetCaptureStreams, TargetRunner } from "../types/TargetRunner";
1
+ import type { Logger } from "@lage-run/logger";
2
+ import type { TargetCaptureStreams, TargetRunner } from "../types/TargetRunner";
3
+ import type { AbortSignal } from "abort-controller";
4
4
  import type { Target } from "@lage-run/target-graph";
5
5
  export interface NpmScriptRunnerOptions {
6
6
  logger: Logger;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NpmScriptRunner = void 0;
4
- const child_process_1 = require("child_process");
5
4
  const fs_1 = require("fs");
6
5
  const path_1 = require("path");
7
6
  const logger_1 = require("@lage-run/logger");
8
7
  const promises_1 = require("fs/promises");
8
+ const child_process_1 = require("child_process");
9
9
  /**
10
10
  * Runs a npm script on a target.
11
11
  *
@@ -93,7 +93,7 @@ class NpmScriptRunner {
93
93
  env: Object.assign(Object.assign(Object.assign(Object.assign({}, process.env), (process.stdout.isTTY && { FORCE_COLOR: "1" })), (npmRunNodeOptions && { NODE_OPTIONS: npmRunNodeOptions })), { LAGE_PACKAGE_NAME: target.packageName, LAGE_TASK: target.task }),
94
94
  });
95
95
  let exitHandled = false;
96
- const handleChildProcessExit = (code, signal) => {
96
+ const handleChildProcessExit = (code) => {
97
97
  var _a, _b, _c;
98
98
  childProcess === null || childProcess === void 0 ? void 0 : childProcess.off("exit", handleChildProcessExit);
99
99
  childProcess === null || childProcess === void 0 ? void 0 : childProcess.off("error", handleChildProcessExit);
@@ -1 +1 @@
1
- {"version":3,"file":"NpmScriptRunner.js","sourceRoot":"","sources":["../../src/runners/NpmScriptRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NpmScriptRunner.js","sourceRoot":"","sources":["../../src/runners/NpmScriptRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Target } from "@lage-run/target-graph";
2
+ import type { TargetRunner } from "../types/TargetRunner";
3
+ interface TargetRunnerPickerOptions {
4
+ runners: {
5
+ [key: string]: TargetRunner;
6
+ };
7
+ }
8
+ export declare class TargetRunnerPicker {
9
+ private options;
10
+ constructor(options: TargetRunnerPickerOptions);
11
+ pick(target: Target): TargetRunner;
12
+ }
13
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TargetRunnerPicker = void 0;
4
+ const target_graph_1 = require("@lage-run/target-graph");
5
+ const NoOpRunner_1 = require("./NoOpRunner");
6
+ class TargetRunnerPicker {
7
+ constructor(options) {
8
+ this.options = options;
9
+ }
10
+ pick(target) {
11
+ if (target.id === (0, target_graph_1.getStartTargetId)()) {
12
+ return NoOpRunner_1.NoOpRunner;
13
+ }
14
+ if (!target.type) {
15
+ target.type = "npmScript";
16
+ }
17
+ if (this.options.runners[target.type]) {
18
+ return this.options.runners[target.type];
19
+ }
20
+ throw new Error(`No runner found for target ${target.id}`);
21
+ }
22
+ }
23
+ exports.TargetRunnerPicker = TargetRunnerPicker;
24
+ //# sourceMappingURL=TargetRunnerPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetRunnerPicker.js","sourceRoot":"","sources":["../../src/runners/TargetRunnerPicker.ts"],"names":[],"mappings":";;;AAAA,yDAA0D;AAC1D,6CAA0C;AAQ1C,MAAa,kBAAkB;IAC7B,YAAoB,OAAkC;QAAlC,YAAO,GAAP,OAAO,CAA2B;IAAG,CAAC;IAE1D,IAAI,CAAC,MAAc;QACjB,IAAI,MAAM,CAAC,EAAE,KAAK,IAAA,+BAAgB,GAAE,EAAE;YACpC,OAAO,uBAAU,CAAC;SACnB;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC1C;QAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAlBD,gDAkBC"}
@@ -0,0 +1,61 @@
1
+ /// <reference types="node" />
2
+ import { WorkerPool } from "@lage-run/worker-threads-pool";
3
+ import type { AbortSignal } from "abort-controller";
4
+ import type { Logger } from "@lage-run/logger";
5
+ import type { Target, TargetConfig } from "@lage-run/target-graph";
6
+ import type { TargetCaptureStreams, TargetRunner } from "../types/TargetRunner";
7
+ import type { Worker } from "worker_threads";
8
+ export interface WorkerRunnerOptions {
9
+ logger: Logger;
10
+ workerTargetConfigs: Record<string, TargetConfig>;
11
+ nodeOptions?: string;
12
+ }
13
+ export interface PoolOptions {
14
+ id: string;
15
+ options: Record<string, any>;
16
+ script: string;
17
+ nodeOptions: string;
18
+ }
19
+ /**
20
+ * Creates a workerpool per target task definition of "type: worker"
21
+ *
22
+ * Target options are fed into `workerpool`, so target can customize the pool:
23
+ *
24
+ * https://www.npmjs.com/package/workerpool
25
+ *
26
+ * Example:
27
+ *
28
+ * ```ts
29
+ * // lage.config.js
30
+ * {
31
+ * pipeline: {
32
+ * "lint": {
33
+ * type: "worker",
34
+ * options: {
35
+ * worker: "workers/lint.js",
36
+ * maxWorkers: 15,
37
+ * minWorkers: 2,
38
+ * }
39
+ * }
40
+ * }
41
+ * }
42
+ * ```
43
+ *
44
+ * ```js
45
+ * // worker.js
46
+ * const { WorkerRunner } = require("@lage-run/scheduler");
47
+ * WorkerRunner.register({
48
+ * })
49
+ * ```
50
+ */
51
+ export declare class WorkerRunner implements TargetRunner {
52
+ private options;
53
+ private pools;
54
+ static gracefulKillTimeout: number;
55
+ constructor(options: WorkerRunnerOptions);
56
+ getPoolOptions(target: Target): PoolOptions;
57
+ ensurePool(poolOptions: PoolOptions): WorkerPool;
58
+ captureStream(target: Target, worker: Worker, captureStreams?: TargetCaptureStreams): () => void;
59
+ run(target: Target, abortSignal?: AbortSignal, captureStreams?: TargetCaptureStreams): Promise<void>;
60
+ cleanup(): void;
61
+ }
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WorkerRunner = void 0;
7
+ const logger_1 = require("@lage-run/logger");
8
+ const worker_threads_pool_1 = require("@lage-run/worker-threads-pool");
9
+ const os_1 = __importDefault(require("os"));
10
+ /**
11
+ * Creates a workerpool per target task definition of "type: worker"
12
+ *
13
+ * Target options are fed into `workerpool`, so target can customize the pool:
14
+ *
15
+ * https://www.npmjs.com/package/workerpool
16
+ *
17
+ * Example:
18
+ *
19
+ * ```ts
20
+ * // lage.config.js
21
+ * {
22
+ * pipeline: {
23
+ * "lint": {
24
+ * type: "worker",
25
+ * options: {
26
+ * worker: "workers/lint.js",
27
+ * maxWorkers: 15,
28
+ * minWorkers: 2,
29
+ * }
30
+ * }
31
+ * }
32
+ * }
33
+ * ```
34
+ *
35
+ * ```js
36
+ * // worker.js
37
+ * const { WorkerRunner } = require("@lage-run/scheduler");
38
+ * WorkerRunner.register({
39
+ * })
40
+ * ```
41
+ */
42
+ class WorkerRunner {
43
+ constructor(options) {
44
+ this.options = options;
45
+ this.pools = {};
46
+ }
47
+ getPoolOptions(target) {
48
+ var _a, _b, _c, _d, _e;
49
+ const { task } = target;
50
+ const { workerTargetConfigs } = this.options;
51
+ let id = "";
52
+ let options = {};
53
+ let script = "";
54
+ if (workerTargetConfigs[target.id]) {
55
+ id = target.id;
56
+ script = (_a = workerTargetConfigs[target.id].options) === null || _a === void 0 ? void 0 : _a.worker;
57
+ options = (_b = workerTargetConfigs[target.id].options) !== null && _b !== void 0 ? _b : {};
58
+ }
59
+ else if (workerTargetConfigs[task]) {
60
+ id = task;
61
+ script = (_c = workerTargetConfigs[task].options) === null || _c === void 0 ? void 0 : _c.worker;
62
+ options = (_d = workerTargetConfigs[task].options) !== null && _d !== void 0 ? _d : {};
63
+ }
64
+ return {
65
+ id,
66
+ script,
67
+ options,
68
+ nodeOptions: (_e = workerTargetConfigs[id].options) === null || _e === void 0 ? void 0 : _e.nodeOptions,
69
+ };
70
+ }
71
+ ensurePool(poolOptions) {
72
+ var _a;
73
+ const { id, script, options } = poolOptions;
74
+ if (!this.pools[id]) {
75
+ const pool = new worker_threads_pool_1.WorkerPool({
76
+ maxWorkers: (_a = options.maxWorkers) !== null && _a !== void 0 ? _a : os_1.default.cpus().length,
77
+ script,
78
+ workerOptions: {
79
+ stdout: true,
80
+ stderr: true,
81
+ },
82
+ });
83
+ this.pools[id] = pool;
84
+ }
85
+ return this.pools[id];
86
+ }
87
+ captureStream(target, worker, captureStreams = {}) {
88
+ const { logger } = this.options;
89
+ let stdout = worker.stdout;
90
+ let stderr = worker.stderr;
91
+ const releaseStreams = {
92
+ stdout: () => {
93
+ // pass
94
+ },
95
+ stderr: () => {
96
+ // pass
97
+ },
98
+ };
99
+ if (stdout) {
100
+ if (captureStreams.stdout) {
101
+ stdout = stdout.pipe(captureStreams.stdout);
102
+ }
103
+ releaseStreams.stdout = logger.stream(logger_1.LogLevel.verbose, stdout, { target, tid: worker.threadId });
104
+ }
105
+ if (stderr) {
106
+ if (captureStreams.stderr) {
107
+ stderr = stderr.pipe(captureStreams.stderr);
108
+ }
109
+ releaseStreams.stderr = logger.stream(logger_1.LogLevel.verbose, stderr, { target, tid: worker.threadId });
110
+ }
111
+ return () => {
112
+ if (captureStreams.stdout && stdout) {
113
+ stdout.unpipe(captureStreams.stdout);
114
+ captureStreams.stdout.destroy();
115
+ }
116
+ if (captureStreams.stderr && stderr) {
117
+ stderr.unpipe(captureStreams.stderr);
118
+ captureStreams.stderr.destroy();
119
+ }
120
+ releaseStreams.stdout();
121
+ releaseStreams.stderr();
122
+ };
123
+ }
124
+ async run(target, abortSignal, captureStreams = {}) {
125
+ if (abortSignal) {
126
+ if (abortSignal.aborted) {
127
+ return;
128
+ }
129
+ const abortSignalHandler = () => {
130
+ abortSignal.removeEventListener("abort", abortSignalHandler);
131
+ this.cleanup();
132
+ };
133
+ abortSignal.addEventListener("abort", abortSignalHandler);
134
+ }
135
+ const poolOptions = this.getPoolOptions(target);
136
+ const pool = this.ensurePool(poolOptions);
137
+ let cleanupStreams;
138
+ await pool.exec({ target }, (worker) => {
139
+ cleanupStreams = this.captureStream(target, worker, captureStreams);
140
+ }, (worker) => {
141
+ cleanupStreams();
142
+ });
143
+ }
144
+ cleanup() {
145
+ for (const pool of Object.values(this.pools)) {
146
+ pool.close();
147
+ }
148
+ }
149
+ }
150
+ exports.WorkerRunner = WorkerRunner;
151
+ WorkerRunner.gracefulKillTimeout = 2500;
152
+ //# sourceMappingURL=WorkerRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerRunner.js","sourceRoot":"","sources":["../../src/runners/WorkerRunner.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,uEAA2D;AAC3D,4CAAoB;AAoBpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,YAAY;IAKvB,YAAoB,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;QAJxC,UAAK,GAA+B,EAAE,CAAC;IAII,CAAC;IAEpD,cAAc,CAAC,MAAc;;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7C,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,IAAI,OAAO,GAAwB,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAClC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACf,MAAM,GAAG,MAAA,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,0CAAE,MAAM,CAAC;YACxD,OAAO,GAAG,MAAA,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC;SACxD;aAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;YACpC,EAAE,GAAG,IAAI,CAAC;YACV,MAAM,GAAG,MAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,0CAAE,MAAM,CAAC;YACnD,OAAO,GAAG,MAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,mCAAI,EAAE,CAAC;SACnD;QAED,OAAO;YACL,EAAE;YACF,MAAM;YACN,OAAO;YACP,WAAW,EAAE,MAAA,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,0CAAE,WAAW;SAC1D,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,WAAwB;;QACjC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACnB,MAAM,IAAI,GAAG,IAAI,gCAAU,CAAC;gBAC1B,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM;gBAClD,MAAM;gBACN,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;SACvB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,iBAAuC,EAAE;QACrF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEhC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3B,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO;YACT,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO;YACT,CAAC;SACF,CAAC;QAEF,IAAI,MAAM,EAAE;YACV,IAAI,cAAc,CAAC,MAAM,EAAE;gBACzB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aAC7C;YAED,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnG;QAED,IAAI,MAAM,EAAE;YACV,IAAI,cAAc,CAAC,MAAM,EAAE;gBACzB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aAC7C;YAED,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnG;QAED,OAAO,GAAG,EAAE;YACV,IAAI,cAAc,CAAC,MAAM,IAAI,MAAM,EAAE;gBACnC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACrC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aACjC;YAED,IAAI,cAAc,CAAC,MAAM,IAAI,MAAM,EAAE;gBACnC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACrC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aACjC;YACD,cAAc,CAAC,MAAM,EAAE,CAAC;YACxB,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,WAAyB,EAAE,iBAAuC,EAAE;QAC5F,IAAI,WAAW,EAAE;YACf,IAAI,WAAW,CAAC,OAAO,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;gBAC9B,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC;YAEF,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;SAC3D;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,cAA0B,CAAC;QAE/B,MAAM,IAAI,CAAC,IAAI,CACb,EAAE,MAAM,EAAE,EACV,CAAC,MAAM,EAAE,EAAE;YACT,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;YACT,cAAc,EAAE,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;;AAnIH,oCAoIC;AAjIQ,gCAAmB,GAAG,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Target } from "@lage-run/target-graph";
2
- import { TargetStatus } from "./TargetStatus";
1
+ import type { Target } from "@lage-run/target-graph";
2
+ import type { TargetStatus } from "./TargetStatus";
3
3
  export interface TargetRun {
4
4
  startTime: [number, number];
5
5
  duration: [number, number];
@@ -1,11 +1,12 @@
1
1
  /// <reference types="node" />
2
- import { Target } from "@lage-run/target-graph";
2
+ import type { Target } from "@lage-run/target-graph";
3
3
  import type { AbortSignal } from "abort-controller";
4
- import { Transform } from "stream";
4
+ import type { Transform } from "stream";
5
5
  export interface TargetCaptureStreams {
6
6
  stdout?: Transform;
7
7
  stderr?: Transform;
8
8
  }
9
9
  export interface TargetRunner {
10
10
  run(target: Target, abortSignal?: AbortSignal, captureStreams?: TargetCaptureStreams): Promise<void>;
11
+ cleanup?(): Promise<void> | void;
11
12
  }
@@ -1,4 +1,4 @@
1
- import { TargetGraph } from "@lage-run/target-graph";
1
+ import type { TargetGraph } from "@lage-run/target-graph";
2
2
  import type { SchedulerRunSummary } from "./SchedulerRunSummary";
3
3
  export interface TargetScheduler {
4
4
  abort(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lage-run/scheduler",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Scheduler for Lage",
5
5
  "repository": {
6
6
  "url": "https://github.com/microsoft/lage"
@@ -15,9 +15,10 @@
15
15
  "lint": "monorepo-scripts lint"
16
16
  },
17
17
  "dependencies": {
18
- "@lage-run/target-graph": "^0.2.2",
19
- "@lage-run/logger": "^1.1.3",
20
- "@lage-run/cache": "^0.1.6",
18
+ "@lage-run/target-graph": "^0.3.0",
19
+ "@lage-run/logger": "^1.2.0",
20
+ "@lage-run/cache": "^0.1.7",
21
+ "@lage-run/worker-threads-pool": "^0.1.1",
21
22
  "p-graph": "^1.1.1",
22
23
  "p-profiler": "^0.2.1",
23
24
  "abort-controller": "^3.0.0",
@@ -27,6 +28,7 @@
27
28
  "@lage-run/monorepo-fixture": "^0.1.0",
28
29
  "@types/jest": "^27.0.1",
29
30
  "@types/node": "14.18.26",
31
+ "@types/workerpool": "^6.1.0",
30
32
  "monorepo-scripts": "*"
31
33
  },
32
34
  "publishConfig": {