@memberjunction/scheduling-engine 5.44.0 → 5.45.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/dist/BaseScheduledJob.d.ts +8 -0
- package/dist/BaseScheduledJob.d.ts.map +1 -1
- package/dist/BaseScheduledJob.js +10 -0
- package/dist/BaseScheduledJob.js.map +1 -1
- package/dist/ScheduledJobEngine.d.ts +40 -0
- package/dist/ScheduledJobEngine.d.ts.map +1 -1
- package/dist/ScheduledJobEngine.js +80 -1
- package/dist/ScheduledJobEngine.js.map +1 -1
- package/dist/UserRoutineProcessor.d.ts +105 -0
- package/dist/UserRoutineProcessor.d.ts.map +1 -0
- package/dist/UserRoutineProcessor.js +169 -0
- package/dist/UserRoutineProcessor.js.map +1 -0
- package/dist/drivers/UserRoutineDispatcherDriver.d.ts +164 -0
- package/dist/drivers/UserRoutineDispatcherDriver.d.ts.map +1 -0
- package/dist/drivers/UserRoutineDispatcherDriver.js +693 -0
- package/dist/drivers/UserRoutineDispatcherDriver.js.map +1 -0
- package/dist/drivers/index.d.ts +1 -0
- package/dist/drivers/index.d.ts.map +1 -1
- package/dist/drivers/index.js +1 -0
- package/dist/drivers/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +17 -13
|
@@ -74,6 +74,14 @@ export interface ScheduledJobExecutionContext {
|
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
76
|
export declare abstract class BaseScheduledJob {
|
|
77
|
+
/**
|
|
78
|
+
* Whether this driver is a BY-DESIGN high-frequency poller — a dispatcher that
|
|
79
|
+
* sweeps a work queue on a tight cron (e.g. every minute) and does bounded work
|
|
80
|
+
* per sweep. Overriding to `true` exempts jobs of this type from the engine's
|
|
81
|
+
* high-frequency cron warning banner. Leave `false` for ordinary jobs: the
|
|
82
|
+
* warning exists because a tight cron on a *work* job is usually a design smell.
|
|
83
|
+
*/
|
|
84
|
+
get IsHighFrequencyByDesign(): boolean;
|
|
77
85
|
/**
|
|
78
86
|
* Execute the scheduled job
|
|
79
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseScheduledJob.d.ts","sourceRoot":"","sources":["../src/BaseScheduledJob.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkD,gBAAgB,EAAE,QAAQ,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/I,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACxH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE3H;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,GAAG,EAAE,uBAAuB,CAAC;IAC7B,WAAW,EAAE,QAAQ,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,8BAAsB,gBAAgB;IAClC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEpF;;;;;;;;OAQG;IACH,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,gBAAgB;IAEhF;;;;;;;;;OASG;IACH,QAAQ,CAAC,kBAAkB,CACvB,OAAO,EAAE,4BAA4B,EACrC,MAAM,EAAE,kBAAkB,GAC3B,mBAAmB;IAEtB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,kBAAkB,CAAC,CAAC,SAAS,yBAAyB,EAC5D,QAAQ,EAAE,oBAAoB,GAC/B,CAAC;IAaJ;;;;;;;OAOG;cACa,UAAU,CACtB,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAOpC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;IAQlE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;CAGzD"}
|
|
1
|
+
{"version":3,"file":"BaseScheduledJob.d.ts","sourceRoot":"","sources":["../src/BaseScheduledJob.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAkD,gBAAgB,EAAE,QAAQ,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/I,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACxH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE3H;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,GAAG,EAAE,uBAAuB,CAAC;IAC7B,WAAW,EAAE,QAAQ,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,8BAAsB,gBAAgB;IAClC;;;;;;OAMG;IACH,IAAW,uBAAuB,IAAI,OAAO,CAE5C;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEpF;;;;;;;;OAQG;IACH,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,gBAAgB;IAEhF;;;;;;;;;OASG;IACH,QAAQ,CAAC,kBAAkB,CACvB,OAAO,EAAE,4BAA4B,EACrC,MAAM,EAAE,kBAAkB,GAC3B,mBAAmB;IAEtB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,kBAAkB,CAAC,CAAC,SAAS,yBAAyB,EAC5D,QAAQ,EAAE,oBAAoB,GAC/B,CAAC;IAaJ;;;;;;;OAOG;cACa,UAAU,CACtB,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAOpC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;IAQlE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI;CAGzD"}
|
package/dist/BaseScheduledJob.js
CHANGED
|
@@ -35,6 +35,16 @@ import { LogError, LogStatusEx, IsVerboseLoggingEnabled, Metadata } from '@membe
|
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
export class BaseScheduledJob {
|
|
38
|
+
/**
|
|
39
|
+
* Whether this driver is a BY-DESIGN high-frequency poller — a dispatcher that
|
|
40
|
+
* sweeps a work queue on a tight cron (e.g. every minute) and does bounded work
|
|
41
|
+
* per sweep. Overriding to `true` exempts jobs of this type from the engine's
|
|
42
|
+
* high-frequency cron warning banner. Leave `false` for ordinary jobs: the
|
|
43
|
+
* warning exists because a tight cron on a *work* job is usually a design smell.
|
|
44
|
+
*/
|
|
45
|
+
get IsHighFrequencyByDesign() {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
38
48
|
/**
|
|
39
49
|
* Parse and validate the Configuration JSON field
|
|
40
50
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseScheduledJob.js","sourceRoot":"","sources":["../src/BaseScheduledJob.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAA8B,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AA2C/I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAgB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"BaseScheduledJob.js","sourceRoot":"","sources":["../src/BaseScheduledJob.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAA8B,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AA2C/I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAgB,gBAAgB;IAClC;;;;;;OAMG;IACH,IAAW,uBAAuB;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IA2CD;;;;;;;;;;;OAWG;IACO,kBAAkB,CACxB,QAA8B;QAE9B,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAM,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,UAAU,CACtB,QAA8B,EAC9B,WAAqB,EACrB,QAA4B;QAE5B,MAAM,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAiC,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAA2B,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAC3G,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACO,GAAG,CAAC,OAAe,EAAE,cAAuB,KAAK;QACvD,WAAW,CAAC;YACR,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE;YAChD,WAAW;YACX,gBAAgB,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE;SACpD,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACO,QAAQ,CAAC,OAAe,EAAE,KAAW;QAC3C,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;CACJ"}
|
|
@@ -40,6 +40,18 @@ export declare class SchedulingEngine extends BaseSingleton<SchedulingEngine> {
|
|
|
40
40
|
private pollingTimer?;
|
|
41
41
|
private isPolling;
|
|
42
42
|
private hasInitialized;
|
|
43
|
+
/**
|
|
44
|
+
* Subscription to the base engine's {@link SchedulingEngineBase.JobsChanged$}. Created
|
|
45
|
+
* once (lifetime of the engine) so an activation that arrives after boot — when polling
|
|
46
|
+
* was suspended because there were zero active jobs — can wake the poll timer. Torn down
|
|
47
|
+
* only on full service shutdown; the internal "all jobs removed" stop keeps it alive.
|
|
48
|
+
*/
|
|
49
|
+
private _jobsChangedSubscription?;
|
|
50
|
+
/**
|
|
51
|
+
* The user context polling was started with. Retained so the {@link JobsChanged$} handler
|
|
52
|
+
* can restart polling with the same (system) user after a boot-time suspension.
|
|
53
|
+
*/
|
|
54
|
+
private _pollingContextUser?;
|
|
43
55
|
/** Job IDs we have already warned about for sub-threshold run frequency. */
|
|
44
56
|
private highFrequencyWarnedJobIds;
|
|
45
57
|
/** Threshold (ms) below which a job's run frequency triggers a console warning. */
|
|
@@ -196,6 +208,34 @@ export declare class SchedulingEngine extends BaseSingleton<SchedulingEngine> {
|
|
|
196
208
|
* @param contextUser - User context for reloading metadata
|
|
197
209
|
*/
|
|
198
210
|
OnJobChanged(contextUser: UserInfo): Promise<void>;
|
|
211
|
+
/**
|
|
212
|
+
* Subscribe once (engine lifetime) to the base engine's job-change notifications.
|
|
213
|
+
* Idempotent — repeated calls (e.g. a restart via {@link OnJobChanged}/{@link onBaseJobsChanged})
|
|
214
|
+
* are no-ops while the subscription is live.
|
|
215
|
+
*/
|
|
216
|
+
private ensureJobChangeSubscription;
|
|
217
|
+
/**
|
|
218
|
+
* Tear down the job-change subscription. Called only on full service shutdown.
|
|
219
|
+
*/
|
|
220
|
+
private releaseJobChangeSubscription;
|
|
221
|
+
/**
|
|
222
|
+
* React to a change in the active scheduled-job set (surfaced by the base engine after
|
|
223
|
+
* it has reconciled and Active-filtered {@link ScheduledJobs}). Recomputes the polling
|
|
224
|
+
* cadence and — if polling is currently suspended but active jobs now exist — restarts it.
|
|
225
|
+
*
|
|
226
|
+
* Cannot recurse: {@link StartPolling} calls `Config(false)`, a no-op once metadata is
|
|
227
|
+
* loaded, so it emits no further change events; and it short-circuits when already polling.
|
|
228
|
+
*/
|
|
229
|
+
private onBaseJobsChanged;
|
|
230
|
+
/**
|
|
231
|
+
* True when a job's driver declares itself a by-design high-frequency poller
|
|
232
|
+
* (`BaseScheduledJob.IsHighFrequencyByDesign`) — e.g. the User Routine Dispatcher's
|
|
233
|
+
* 1-minute sweep. Such jobs are exempt from the high-frequency warning. Resolution
|
|
234
|
+
* failures (unknown type / unregistered driver) fall through to `false` so the
|
|
235
|
+
* warning still fires for misconfigured jobs.
|
|
236
|
+
* @private
|
|
237
|
+
*/
|
|
238
|
+
private isHighFrequencyByDesign;
|
|
199
239
|
/**
|
|
200
240
|
* Inspect every active job's cron expression and emit a hard-to-miss
|
|
201
241
|
* banner warning for any whose minimum run interval is below the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledJobEngine.d.ts","sourceRoot":"","sources":["../src/ScheduledJobEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"ScheduledJobEngine.d.ts","sourceRoot":"","sources":["../src/ScheduledJobEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -252,11 +252,16 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
252
252
|
// Order: Config first (so this.ScheduledJobs is populated), then
|
|
253
253
|
// initializeNextRunTimes / cleanupStaleLocks / permission probe.
|
|
254
254
|
await this.Config(false, contextUser);
|
|
255
|
+
// Retain the context user and subscribe to job-change notifications BEFORE the
|
|
256
|
+
// zero-jobs early-return below, so that if polling is suspended at boot (no active
|
|
257
|
+
// jobs), a later activation still fires JobsChanged$ and wakes the timer.
|
|
258
|
+
this._pollingContextUser = contextUser;
|
|
259
|
+
this.ensureJobChangeSubscription();
|
|
255
260
|
await this.initializeNextRunTimes(contextUser);
|
|
256
261
|
await this.cleanupStaleLocks(contextUser);
|
|
257
262
|
await this.probeLockSprocPermissions();
|
|
258
263
|
if (this.ScheduledJobs.length === 0) {
|
|
259
|
-
console.log(`📅 Scheduled Jobs: No active jobs found, polling not started`);
|
|
264
|
+
console.log(`📅 Scheduled Jobs: No active jobs found, polling not started (will auto-start when a job is activated)`);
|
|
260
265
|
return;
|
|
261
266
|
}
|
|
262
267
|
this.warnAboutHighFrequencyJobs();
|
|
@@ -315,6 +320,13 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
315
320
|
* @param opts.maxWaitMs - Bound the wait (only meaningful with waitForInflight)
|
|
316
321
|
*/
|
|
317
322
|
async StopPolling(opts) {
|
|
323
|
+
// Full service shutdown (ScheduledJobsService.Stop passes waitForInflight) releases the
|
|
324
|
+
// job-change listener. The internal "all jobs removed" stop passes NO opts and
|
|
325
|
+
// deliberately keeps the subscription alive so a later activation re-wakes polling.
|
|
326
|
+
// This runs before the isPolling guard so an already-suspended engine still tears down.
|
|
327
|
+
if (opts?.waitForInflight) {
|
|
328
|
+
this.releaseJobChangeSubscription();
|
|
329
|
+
}
|
|
318
330
|
if (!this.isPolling)
|
|
319
331
|
return;
|
|
320
332
|
// Order matters: block new dispatches BEFORE snapshotting inflight.
|
|
@@ -376,6 +388,70 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
376
388
|
this.StartPolling(contextUser);
|
|
377
389
|
}
|
|
378
390
|
}
|
|
391
|
+
/**
|
|
392
|
+
* Subscribe once (engine lifetime) to the base engine's job-change notifications.
|
|
393
|
+
* Idempotent — repeated calls (e.g. a restart via {@link OnJobChanged}/{@link onBaseJobsChanged})
|
|
394
|
+
* are no-ops while the subscription is live.
|
|
395
|
+
*/
|
|
396
|
+
ensureJobChangeSubscription() {
|
|
397
|
+
if (this._jobsChangedSubscription) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
this._jobsChangedSubscription = this.Base.JobsChanged$.subscribe(() => {
|
|
401
|
+
// Fire-and-forget; onBaseJobsChanged owns its error handling.
|
|
402
|
+
void this.onBaseJobsChanged();
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Tear down the job-change subscription. Called only on full service shutdown.
|
|
407
|
+
*/
|
|
408
|
+
releaseJobChangeSubscription() {
|
|
409
|
+
if (this._jobsChangedSubscription) {
|
|
410
|
+
this._jobsChangedSubscription.unsubscribe();
|
|
411
|
+
this._jobsChangedSubscription = undefined;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* React to a change in the active scheduled-job set (surfaced by the base engine after
|
|
416
|
+
* it has reconciled and Active-filtered {@link ScheduledJobs}). Recomputes the polling
|
|
417
|
+
* cadence and — if polling is currently suspended but active jobs now exist — restarts it.
|
|
418
|
+
*
|
|
419
|
+
* Cannot recurse: {@link StartPolling} calls `Config(false)`, a no-op once metadata is
|
|
420
|
+
* loaded, so it emits no further change events; and it short-circuits when already polling.
|
|
421
|
+
*/
|
|
422
|
+
async onBaseJobsChanged() {
|
|
423
|
+
try {
|
|
424
|
+
this.UpdatePollingInterval();
|
|
425
|
+
if (!this.isPolling && this.ScheduledJobs.length > 0 && this._pollingContextUser) {
|
|
426
|
+
console.log(`📅 Scheduled Jobs: Job activated, starting polling`);
|
|
427
|
+
await this.StartPolling(this._pollingContextUser);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
catch (error) {
|
|
431
|
+
this.logError('Error handling scheduled job change notification', error);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* True when a job's driver declares itself a by-design high-frequency poller
|
|
436
|
+
* (`BaseScheduledJob.IsHighFrequencyByDesign`) — e.g. the User Routine Dispatcher's
|
|
437
|
+
* 1-minute sweep. Such jobs are exempt from the high-frequency warning. Resolution
|
|
438
|
+
* failures (unknown type / unregistered driver) fall through to `false` so the
|
|
439
|
+
* warning still fires for misconfigured jobs.
|
|
440
|
+
* @private
|
|
441
|
+
*/
|
|
442
|
+
isHighFrequencyByDesign(job) {
|
|
443
|
+
try {
|
|
444
|
+
const jobType = this.ScheduledJobTypes.find(t => UUIDsEqual(t.ID, job.JobTypeID));
|
|
445
|
+
if (!jobType?.DriverClass) {
|
|
446
|
+
return false;
|
|
447
|
+
}
|
|
448
|
+
const driver = MJGlobal.Instance.ClassFactory.CreateInstance(BaseScheduledJob, jobType.DriverClass);
|
|
449
|
+
return driver?.IsHighFrequencyByDesign === true;
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
return false;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
379
455
|
/**
|
|
380
456
|
* Inspect every active job's cron expression and emit a hard-to-miss
|
|
381
457
|
* banner warning for any whose minimum run interval is below the
|
|
@@ -391,6 +467,9 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
391
467
|
if (this.highFrequencyWarnedJobIds.has(job.ID) || !job.CronExpression) {
|
|
392
468
|
continue;
|
|
393
469
|
}
|
|
470
|
+
if (this.isHighFrequencyByDesign(job)) {
|
|
471
|
+
continue;
|
|
472
|
+
}
|
|
394
473
|
const intervalMs = CronExpressionHelper.GetMinIntervalMs(job.CronExpression, job.Timezone || 'UTC');
|
|
395
474
|
if (intervalMs < threshold) {
|
|
396
475
|
offenders.push({ job, intervalMs });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledJobEngine.js","sourceRoot":"","sources":["../src/ScheduledJobEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScheduledJobEngine.js","sourceRoot":"","sources":["../src/ScheduledJobEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Pure, side-effect-free logic for the User Routines dispatcher.
|
|
3
|
+
*
|
|
4
|
+
* Everything in this module is deterministic and unit-testable without a database:
|
|
5
|
+
* due-evaluation (activation window + NextRunAt), next-run/claim computation (cron with a
|
|
6
|
+
* StartAt floor), OnChange result hashing, the notify-condition matrix, and recipient
|
|
7
|
+
* ordering. The `UserRoutineDispatcherDriver` composes these primitives with the entity
|
|
8
|
+
* layer; `MJUserRoutineEntityServer` (in @memberjunction/core-entities-server) reuses
|
|
9
|
+
* `ComputeRoutineNextRunAt` so the entity save path and the dispatcher compute NextRunAt
|
|
10
|
+
* with the SAME cron helper and StartAt semantics.
|
|
11
|
+
*
|
|
12
|
+
* @module @memberjunction/scheduling-engine
|
|
13
|
+
*/
|
|
14
|
+
import type { MJUserRoutineEntity, MJUserRoutineRunEntity } from '@memberjunction/core-entities';
|
|
15
|
+
/**
|
|
16
|
+
* The minimal, entity-derived field set the schedule evaluation functions read.
|
|
17
|
+
* Field types are indexed off the generated entity (never hand-copied unions) so
|
|
18
|
+
* CodeGen CHECK-constraint changes flow through automatically.
|
|
19
|
+
*/
|
|
20
|
+
export interface UserRoutineScheduleFields {
|
|
21
|
+
Status: MJUserRoutineEntity['Status'];
|
|
22
|
+
CronExpression: MJUserRoutineEntity['CronExpression'];
|
|
23
|
+
Timezone: MJUserRoutineEntity['Timezone'];
|
|
24
|
+
StartAt: MJUserRoutineEntity['StartAt'];
|
|
25
|
+
EndAt: MJUserRoutineEntity['EndAt'];
|
|
26
|
+
NextRunAt: MJUserRoutineEntity['NextRunAt'];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Same 1-second tolerance the ScheduledJobEngine applies when comparing NextRunAt to the
|
|
30
|
+
* evaluation time, so a routine whose NextRunAt lands a few hundred ms after the sweep
|
|
31
|
+
* timestamp still runs on this pass instead of waiting a full dispatcher interval.
|
|
32
|
+
*/
|
|
33
|
+
export declare const ROUTINE_DUE_TOLERANCE_MS = 1000;
|
|
34
|
+
/**
|
|
35
|
+
* Compute the next run time for a routine: the first cron occurrence strictly after
|
|
36
|
+
* `fromDate`, floored by the routine's activation-window start. When `startAt` is in the
|
|
37
|
+
* future relative to `fromDate`, the next occurrence is computed from `startAt` instead —
|
|
38
|
+
* an Active routine never gets a NextRunAt before its window opens.
|
|
39
|
+
*
|
|
40
|
+
* @throws when the cron expression or timezone is invalid (callers validate first via
|
|
41
|
+
* {@link CronExpressionHelper.ValidateExpression} / entity Validate()).
|
|
42
|
+
*/
|
|
43
|
+
export declare function ComputeRoutineNextRunAt(cronExpression: string, timezone: string, fromDate: Date, startAt?: Date | null): Date;
|
|
44
|
+
/**
|
|
45
|
+
* Activation-window check (independent of NextRunAt):
|
|
46
|
+
* - StartAt: NULL = eligible immediately; otherwise eligible once `StartAt <= now`.
|
|
47
|
+
* - EndAt: NULL = no end; otherwise eligible only while `EndAt > now` (automatic sunset —
|
|
48
|
+
* a routine whose EndAt equals the evaluation time has already ended).
|
|
49
|
+
*/
|
|
50
|
+
export declare function IsRoutineWithinActivationWindow(fields: Pick<UserRoutineScheduleFields, 'StartAt' | 'EndAt'>, now: Date): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Full due-evaluation: Active + inside the activation window + NextRunAt set and passed
|
|
53
|
+
* (within {@link ROUTINE_DUE_TOLERANCE_MS}). A NULL NextRunAt is never "due" — it means the
|
|
54
|
+
* routine needs seeding (see {@link RoutineNeedsSeeding}).
|
|
55
|
+
*/
|
|
56
|
+
export declare function IsRoutineDue(fields: UserRoutineScheduleFields, now: Date): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* A routine "needs seeding" when it is Active, inside its activation window, and has never
|
|
59
|
+
* had a NextRunAt computed (newly created outside the entity-server save path, or legacy
|
|
60
|
+
* rows). The dispatcher computes + saves NextRunAt for these WITHOUT running them — they
|
|
61
|
+
* become due on a later sweep once their first cron occurrence passes.
|
|
62
|
+
*/
|
|
63
|
+
export declare function RoutineNeedsSeeding(fields: UserRoutineScheduleFields, now: Date): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* SQL prefilter for the dispatcher's due-routine sweep. Matches Active routines inside
|
|
66
|
+
* their activation window whose NextRunAt is NULL (seeding candidates) or has passed.
|
|
67
|
+
* Every row returned is re-verified in JS via {@link IsRoutineDue} / {@link RoutineNeedsSeeding}
|
|
68
|
+
* — the SQL filter only narrows the sweep, it is not the source of truth.
|
|
69
|
+
*/
|
|
70
|
+
export declare function BuildDueRoutineFilter(nowIso: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* SHA-256 hex digest of the normalized result content. Normalization strips embedded
|
|
73
|
+
* ISO-8601 timestamps (volatile execution metadata that would otherwise register a
|
|
74
|
+
* "change" on every run), collapses whitespace runs to single spaces, and trims — so
|
|
75
|
+
* cosmetic formatting differences never trigger OnChange detection.
|
|
76
|
+
* Null/undefined content hashes as the empty string — deterministic, never throws.
|
|
77
|
+
*/
|
|
78
|
+
export declare function ComputeResultHash(content: string | null | undefined): string;
|
|
79
|
+
/**
|
|
80
|
+
* The notify-condition matrix. Only terminal outcomes (Success/Failed) can notify —
|
|
81
|
+
* Running/Skipped never do, regardless of condition.
|
|
82
|
+
*
|
|
83
|
+
* - `Always`: any terminal outcome.
|
|
84
|
+
* - `OnSuccess`: Status === 'Success'.
|
|
85
|
+
* - `OnFailure`: Status === 'Failed'.
|
|
86
|
+
* - `OnChange`: the run's ResultHash differs from the routine's prior LastResultHash.
|
|
87
|
+
* A NULL prior hash (first run) counts as changed — the first observation of a
|
|
88
|
+
* monitored value is itself news.
|
|
89
|
+
*/
|
|
90
|
+
export declare function EvaluateNotifyCondition(condition: MJUserRoutineEntity['NotifyCondition'], runStatus: MJUserRoutineRunEntity['Status'], resultHash: string | null, priorResultHash: string | null): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Returns a new array of recipients ordered by ascending Sequence. Ties preserve the
|
|
93
|
+
* input order (stable). The input array is not mutated.
|
|
94
|
+
*/
|
|
95
|
+
export declare function SortRecipientsBySequence<T extends {
|
|
96
|
+
Sequence: number;
|
|
97
|
+
}>(recipients: T[]): T[];
|
|
98
|
+
/**
|
|
99
|
+
* Run `worker` over `items` with at most `limit` concurrent executions. Results are
|
|
100
|
+
* returned in input order. The worker is responsible for its own error handling — a
|
|
101
|
+
* rejection from one item propagates, so dispatcher callers wrap each routine's work in
|
|
102
|
+
* its own try/catch (per-routine error isolation).
|
|
103
|
+
*/
|
|
104
|
+
export declare function RunWithBoundedConcurrency<TItem, TResult>(items: TItem[], limit: number, worker: (item: TItem) => Promise<TResult>): Promise<TResult[]>;
|
|
105
|
+
//# sourceMappingURL=UserRoutineProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserRoutineProcessor.d.ts","sourceRoot":"","sources":["../src/UserRoutineProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGjG;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,cAAc,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,EACd,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GACtB,IAAI,CAGN;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,OAAO,CAAC,EAC5D,GAAG,EAAE,IAAI,GACV,OAAO,CAQT;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAWlF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK5D;AAUD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAM5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,EACjD,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAkBT;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE7F;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAC1D,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,OAAO,EAAE,CAAC,CAkBpB"}
|