@ddd-ts-kit/scheduling 0.7.0 → 0.8.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/README.md CHANGED
@@ -80,9 +80,26 @@ The scheduler opens an `ExecutionScope` around each run, so the job writes none
80
80
  | `deadline` | the start plus `timeoutMs`, when the job has one |
81
81
 
82
82
  Audit columns, the audit trail, log fields, tracing and the correlation stamped on published
83
- events therefore work as for a request. A job has no tenant: persistence helpers that need
84
- one (`tenantScopeOf`) are for the use case, which receives the tenant in its command, one
85
- command per tenant when the work is per tenant.
83
+ events therefore work as for a request.
84
+
85
+ ### Global or per tenant
86
+
87
+ A job says which, explicitly. `tenancy: 'global'` (the default) runs once per occurrence in no
88
+ tenant: persistence helpers that need one (`tenantScopeOf`) refuse it, and a use case that works
89
+ per tenant receives the tenant in its command. `tenancy: 'per-tenant'` runs once per tenant of
90
+ the `TenantDirectory` given to the scheduler (`tenants` option; registering such a job without
91
+ it throws `InvalidJobScheduleError`):
92
+
93
+ ```ts
94
+ const scheduler = new InProcessJobScheduler({ clock, lock, scope, ids, tenants: new InMemoryTenantDirectory(['acme', 'globex']) });
95
+
96
+ scheduler.register({ name: 'billing.close-month', schedule: { cron: '0 2 1 * *' }, tenancy: 'per-tenant', run });
97
+ ```
98
+
99
+ Each tenant's run happens in its own execution scope, `tenantId` set, and `execution.tenantId`
100
+ tells the job which; the runs of one occurrence share its correlation id and run one after the
101
+ other. A tenant that fails does not stop the others: the occurrence fails with the first error
102
+ once every tenant had its run. An aborted signal (timeout, stop) stops before the next tenant.
86
103
 
87
104
  ## Schedules
88
105
 
@@ -1,4 +1,4 @@
1
- import { type Clock, type ExecutionScope, type IdGenerator, type JobDefinition, type JobDescription, type JobRun, type JobScheduler, type Lock, type Logger, type Metrics } from '@ddd-ts-kit/kernel';
1
+ import { type Clock, type ExecutionScope, type IdGenerator, type JobDefinition, type JobDescription, type JobRun, type JobScheduler, type Lock, type Logger, type Metrics, type TenantDirectory } from '@ddd-ts-kit/kernel';
2
2
  import type { JobCheckpoints } from './job-checkpoints.js';
3
3
  import type { JobRunObserver } from './job-run-observer.js';
4
4
  import type { JobTimers } from './job-timers.js';
@@ -28,6 +28,8 @@ export interface InProcessJobSchedulerOptions {
28
28
  /** How long the lock of an occurrence is kept for a job without `timeoutMs`. Default 900 000. */
29
29
  readonly lockTtlMs?: number;
30
30
  readonly onRun?: JobRunObserver;
31
+ /** The tenants a job declared `tenancy: 'per-tenant'` runs for, one run each. Required to register one. */
32
+ readonly tenants?: TenantDirectory;
31
33
  }
32
34
  /**
33
35
  * The scheduler inside one process. Instants come from the `Clock`, sleeps go through the
@@ -1 +1 @@
1
- {"version":3,"file":"in-process-job-scheduler.d.ts","sourceRoot":"","sources":["../src/in-process-job-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,MAAM,WAAW,4BAA4B;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iGAAiG;IACjG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CACjC;AAYD;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACxD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAEzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAElD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAY,OAAO,EAAE,4BAA4B,EA4BhD;IAED,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,CAYxC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB1B;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1C;IAED,QAAQ,IAAI,SAAS,cAAc,EAAE,CASpC;IAED,mGAAmG;IACnG,OAAO,CAAC,MAAM;YAUA,KAAK;IASnB,iGAAiG;YACnF,UAAU;YAUV,IAAI;IAQlB,+GAA+G;YACjG,SAAS;IA0BvB,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,MAAM;IAed,kFAAkF;IAClF,OAAO,CAAC,aAAa;CAKtB"}
1
+ {"version":3,"file":"in-process-job-scheduler.d.ts","sourceRoot":"","sources":["../src/in-process-job-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,MAAM,WAAW,4BAA4B;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iGAAiG;IACjG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAcD;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACxD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAEzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAElD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAY,OAAO,EAAE,4BAA4B,EA8BhD;IAED,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,CAkBxC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB1B;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1C;IAED,QAAQ,IAAI,SAAS,cAAc,EAAE,CASpC;IAED,mGAAmG;IACnG,OAAO,CAAC,MAAM;YAUA,KAAK;IASnB,iGAAiG;YACnF,UAAU;YAUV,IAAI;IAQlB,+GAA+G;YACjG,SAAS;IA0BvB,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,MAAM;IAed,kFAAkF;IAClF,OAAO,CAAC,aAAa;CAKtB"}
@@ -1,4 +1,4 @@
1
- import { DuplicateJobError, NoopLogger, NoopMetrics, UnknownJobError, } from '@ddd-ts-kit/kernel';
1
+ import { DuplicateJobError, InvalidJobScheduleError, NoopLogger, NoopMetrics, UnknownJobError, } from '@ddd-ts-kit/kernel';
2
2
  import { JobAbortedError } from './errors/job-aborted-error.js';
3
3
  import { JobRecorder } from './job-recorder.js';
4
4
  import { JobRunner } from './job-runner.js';
@@ -42,13 +42,17 @@ export class InProcessJobScheduler {
42
42
  ...(checkpoints === undefined ? {} : { checkpoints }),
43
43
  };
44
44
  this.recorder = new JobRecorder({ clock, logger, metrics, ...(onRun === undefined ? {} : { onRun }) });
45
- this.runner = new JobRunner({ clock, lock, scope, ids, timers, lockTtlMs, lateAfterMs }, this.recorder);
45
+ const runner = { clock, lock, scope, ids, timers, lockTtlMs, lateAfterMs };
46
+ this.runner = new JobRunner({ ...runner, ...tenantsOf(options) }, this.recorder);
46
47
  }
47
48
  register(definition) {
48
49
  if (this.jobs.has(definition.name)) {
49
50
  throw new DuplicateJobError(definition.name);
50
51
  }
51
52
  const job = new RegisteredJob(definition);
53
+ if (job.policy.tenancy === 'per-tenant' && !this.runner.knowsTenants()) {
54
+ throw new InvalidJobScheduleError(`${job.name} runs per tenant: give the scheduler a TenantDirectory (option tenants) to say which.`);
55
+ }
52
56
  this.jobs.set(job.name, job);
53
57
  if (this.started) {
54
58
  void this.follow(job, this.begin(job));
@@ -186,4 +190,7 @@ export class InProcessJobScheduler {
186
190
  return this.stopping ? this.recorder.notRun(job, occurrence, 'missed') : this.runner.run(job, occurrence);
187
191
  }
188
192
  }
193
+ function tenantsOf({ tenants }) {
194
+ return tenants === undefined ? {} : { tenants };
195
+ }
189
196
  //# sourceMappingURL=in-process-job-scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-process-job-scheduler.js","sourceRoot":"","sources":["../src/in-process-job-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-process-job-scheduler.js","sourceRoot":"","sources":["../src/in-process-job-scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Clock, type ExecutionScope, type IdGenerator, type JobRun, type Lock } from '@ddd-ts-kit/kernel';
1
+ import { type Clock, type ExecutionScope, type IdGenerator, type JobRun, type Lock, type TenantDirectory } from '@ddd-ts-kit/kernel';
2
2
  import type { JobRecorder } from './job-recorder.js';
3
3
  import type { JobTimers } from './job-timers.js';
4
4
  import type { Occurrence } from './occurrence.js';
@@ -13,17 +13,21 @@ export interface RunnerOptions {
13
13
  readonly lockTtlMs: number;
14
14
  /** How long after its instant another instance may still try an occurrence. */
15
15
  readonly lateAfterMs: number;
16
+ /** Where a per-tenant job finds its tenants. */
17
+ readonly tenants?: TenantDirectory;
16
18
  }
17
19
  /** Runs one occurrence: the lock of the occurrence, the execution scope, the timeout. */
18
20
  export declare class JobRunner {
19
21
  private readonly options;
20
22
  private readonly recorder;
21
23
  constructor(options: RunnerOptions, recorder: JobRecorder);
24
+ knowsTenants(): boolean;
22
25
  /** Answers what became of the occurrence. Never rejects. */
23
26
  run(job: RegisteredJob, occurrence: Occurrence): Promise<JobRun>;
24
27
  private holds;
25
28
  private execute;
26
29
  private armTimeout;
27
30
  private inScope;
31
+ private inTenant;
28
32
  }
29
33
  //# sourceMappingURL=job-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-runner.d.ts","sourceRoot":"","sources":["../src/job-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,IAAI,EACV,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,yFAAyF;AACzF,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,WAAW,EACpC;IAEJ,4DAA4D;IACtD,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrE;YAOa,KAAK;YAkBL,OAAO;IAsBrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,OAAO;CAehB"}
1
+ {"version":3,"file":"job-runner.d.ts","sourceRoot":"","sources":["../src/job-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,IAAI,EACT,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AASD,yFAAyF;AACzF,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,WAAW,EACpC;IAEJ,YAAY,IAAI,OAAO,CAEtB;IAED,4DAA4D;IACtD,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrE;YAOa,KAAK;YAkBL,OAAO;IAsBrB,OAAO,CAAC,UAAU;YAYJ,OAAO;YAUP,QAAQ;CAiBvB"}
@@ -9,6 +9,9 @@ export class JobRunner {
9
9
  this.options = options;
10
10
  this.recorder = recorder;
11
11
  }
12
+ knowsTenants() {
13
+ return this.options.tenants !== undefined;
14
+ }
12
15
  /** Answers what became of the occurrence. Never rejects. */
13
16
  async run(job, occurrence) {
14
17
  try {
@@ -67,19 +70,44 @@ export class JobRunner {
67
70
  controller.abort(new JobTimeoutError(job.name, timeoutMs));
68
71
  });
69
72
  }
70
- inScope(job, started, signal) {
73
+ async inScope(job, started, signal) {
74
+ if (job.policy.tenancy === 'global' || this.options.tenants === undefined) {
75
+ return this.inTenant(job, { started, signal });
76
+ }
77
+ await eachTenant(await this.options.tenants.tenants(), signal, (tenantId) => this.inTenant(job, { started, signal, tenantId }));
78
+ }
79
+ async inTenant(job, { started, signal, tenantId }) {
71
80
  const { occurrence, startedAt, correlationId } = started;
72
81
  const { scheduledAt } = occurrence;
73
82
  const { timeoutMs } = job.policy;
83
+ const tenant = tenantId === undefined ? {} : { tenantId };
74
84
  const context = executionContextOfJob(job.name, {
75
85
  correlationId,
76
86
  scheduledAt,
77
87
  ...(timeoutMs === undefined ? {} : { deadline: new Date(startedAt.getTime() + timeoutMs) }),
88
+ ...tenant,
78
89
  });
79
- const execution = { scheduledAt, startedAt, attempt: 1, signal };
90
+ const execution = { scheduledAt, startedAt, attempt: 1, signal, ...tenant };
80
91
  return this.options.scope.run(context, async () => job.definition.run(execution));
81
92
  }
82
93
  }
94
+ /**
95
+ * One run per tenant, one after the other, so that a job never holds more than one tenant's
96
+ * work at a time. A tenant that fails does not stop the others; the occurrence then fails with
97
+ * the first error, once every tenant had its run. An aborted signal stops before the next tenant.
98
+ */
99
+ async function eachTenant(tenants, signal, run) {
100
+ const failures = [];
101
+ for (const tenantId of tenants) {
102
+ if (signal.aborted) {
103
+ return;
104
+ }
105
+ await run(tenantId).catch((error) => failures.push(error));
106
+ }
107
+ if (failures.length > 0) {
108
+ throw failures[0];
109
+ }
110
+ }
83
111
  /** A job that ignores its signal is left behind: the run ends when the signal is aborted. */
84
112
  function unlessAborted(signal, work) {
85
113
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"job-runner.js","sourceRoot":"","sources":["../src/job-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAMtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAmBhE,yFAAyF;AACzF,MAAM,OAAO,SAAS;IAED,OAAO;IACP,QAAQ;IAF3B,YACmB,OAAsB,EACtB,QAAqB;uBADrB,OAAO;wBACP,QAAQ;IACxB,CAAC;IAEJ,4DAA4D;IAC5D,KAAK,CAAC,GAAG,CAAC,GAAkB,EAAE,UAAsB;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE/C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC9G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,KAAK,CAAC,GAAkB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAc;QACzE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3C,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAE1F,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAkB,EAAE,UAAsB;QAC9D,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5G,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE;YACrB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAEtF,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,GAAkB,EAAE,UAA2B;QAChE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YAClD,UAAU,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,GAAkB,EAAE,OAAmB,EAAE,MAAmB;QAC1E,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE;YAC9C,aAAa;YACb,WAAW;YACX,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACpF,CAAC;CACF;AAED,6FAA6F;AAC7F,SAAS,aAAa,CAAC,MAAmB,EAAE,IAAmB;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;YACH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3B,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,MAAmB;IACnC,MAAM,MAAM,GAAY,MAAM,CAAC,MAAM,CAAC;IAEtC,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"job-runner.js","sourceRoot":"","sources":["../src/job-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-ts-kit/scheduling",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Scheduled jobs that only trigger use cases: interval and cron schedules, one run across instances, no overlap, each run in its own execution scope.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -30,9 +30,9 @@
30
30
  "dist"
31
31
  ],
32
32
  "dependencies": {
33
- "@ddd-ts-kit/kernel": "0.7.0"
33
+ "@ddd-ts-kit/kernel": "0.8.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@ddd-ts-kit/testing": "0.7.0"
36
+ "@ddd-ts-kit/testing": "0.8.0"
37
37
  }
38
38
  }