@memberjunction/scheduling-engine 6.1.0-edge.0 → 6.1.0-edge.2
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 +26 -0
- package/dist/MissedRunPolicy.d.ts +51 -0
- package/dist/MissedRunPolicy.d.ts.map +1 -0
- package/dist/MissedRunPolicy.js +39 -0
- package/dist/MissedRunPolicy.js.map +1 -0
- package/dist/NotificationManager.d.ts +68 -7
- package/dist/NotificationManager.d.ts.map +1 -1
- package/dist/NotificationManager.js +126 -26
- package/dist/NotificationManager.js.map +1 -1
- package/dist/ScheduledJobEngine.d.ts +52 -1
- package/dist/ScheduledJobEngine.d.ts.map +1 -1
- package/dist/ScheduledJobEngine.js +153 -4
- package/dist/ScheduledJobEngine.js.map +1 -1
- package/dist/drivers/ActionLogRetentionScheduledJobDriver.d.ts +106 -0
- package/dist/drivers/ActionLogRetentionScheduledJobDriver.d.ts.map +1 -0
- package/dist/drivers/ActionLogRetentionScheduledJobDriver.js +224 -0
- package/dist/drivers/ActionLogRetentionScheduledJobDriver.js.map +1 -0
- package/dist/drivers/AgentScheduledJobDriver.d.ts.map +1 -1
- package/dist/drivers/AgentScheduledJobDriver.js +16 -0
- package/dist/drivers/AgentScheduledJobDriver.js.map +1 -1
- package/dist/drivers/UserRoutineDispatcherDriver.d.ts +1 -1
- package/dist/drivers/UserRoutineDispatcherDriver.d.ts.map +1 -1
- package/dist/drivers/UserRoutineDispatcherDriver.js +1 -1
- package/dist/drivers/UserRoutineDispatcherDriver.js.map +1 -1
- 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 -16
|
@@ -8,6 +8,7 @@ import { Metadata, LogError, LogStatusEx, LocalCacheManager, RunView } from '@me
|
|
|
8
8
|
import { BaseSingleton, MJGlobal, UUIDsEqual } from '@memberjunction/global';
|
|
9
9
|
import { SchedulingEngineBase } from '@memberjunction/scheduling-engine-base';
|
|
10
10
|
import { BaseScheduledJob } from './BaseScheduledJob.js';
|
|
11
|
+
import { DecideMissedRun } from './MissedRunPolicy.js';
|
|
11
12
|
import { CronExpressionHelper } from './CronExpressionHelper.js';
|
|
12
13
|
import { NotificationManager } from './NotificationManager.js';
|
|
13
14
|
/**
|
|
@@ -554,6 +555,11 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
554
555
|
for (const job of this.ScheduledJobs) {
|
|
555
556
|
console.log(` - ${job.Name}: NextRunAt=${job.NextRunAt?.toISOString() || 'NULL'}, Status=${job.Status}`);
|
|
556
557
|
if (this.isJobDue(job, evalTime)) {
|
|
558
|
+
if (this.shouldSkipMissedRun(job, evalTime)) {
|
|
559
|
+
console.log(` ⏭ Missed run skipped per MissedRunPolicy`);
|
|
560
|
+
await this.advancePastMissedRuns(job, evalTime);
|
|
561
|
+
continue;
|
|
562
|
+
}
|
|
557
563
|
console.log(` ✓ Job is due, attempting to acquire lock...`);
|
|
558
564
|
try {
|
|
559
565
|
const lockResult = await this.tryAcquireLock(job.ID, job.MaxRuntimeMinutes);
|
|
@@ -660,6 +666,13 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
660
666
|
for (const job of this.ScheduledJobs) {
|
|
661
667
|
if (!this.isJobDue(job, evalTime))
|
|
662
668
|
continue;
|
|
669
|
+
// A job whose fire time passed while nothing was running asks a question the schedule
|
|
670
|
+
// alone cannot answer — should the missed occurrences happen now? Its policy decides,
|
|
671
|
+
// and 'Skip' answers by advancing past them without running.
|
|
672
|
+
if (this.shouldSkipMissedRun(job, evalTime)) {
|
|
673
|
+
await this.advancePastMissedRuns(job, evalTime);
|
|
674
|
+
continue;
|
|
675
|
+
}
|
|
663
676
|
if (this.inflightJobPromises.size >= this.MaxConcurrentJobs) {
|
|
664
677
|
skippedAtCapacity++;
|
|
665
678
|
continue;
|
|
@@ -695,6 +708,12 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
695
708
|
dispatched++;
|
|
696
709
|
}
|
|
697
710
|
this.UpdatePollingInterval();
|
|
711
|
+
// PHASE 3: retire jobs whose window has closed. Deliberately AFTER dispatch rather than
|
|
712
|
+
// before it: `isJobDue` already refuses a job past its EndAt, so retirement changes nothing
|
|
713
|
+
// about what runs this tick — it is bookkeeping. Putting it in front of the loop added an
|
|
714
|
+
// await that let the sweep's fire-and-forget orphan cleanup interleave differently, which is
|
|
715
|
+
// a real hazard for anything that shares ordering with dispatch, not just for tests.
|
|
716
|
+
await this.expireFinishedJobs(contextUser, evalTime);
|
|
698
717
|
return { swept, dispatched, lockedOut, skippedAtCapacity };
|
|
699
718
|
}
|
|
700
719
|
/**
|
|
@@ -844,7 +863,12 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
844
863
|
*/
|
|
845
864
|
async updateJobStatistics(job, success, _runId) {
|
|
846
865
|
const now = new Date();
|
|
847
|
-
|
|
866
|
+
// Where the NEXT occurrence is measured from depends on the job's missed-run policy.
|
|
867
|
+
// 'RunAll' measures from the occurrence just consumed, so a backlog is walked one step per
|
|
868
|
+
// tick; everything else measures from now, which collapses a backlog into the single
|
|
869
|
+
// catch-up run the engine has always performed.
|
|
870
|
+
const advanceFrom = job.MissedRunPolicy === 'RunAll' && job.NextRunAt ? job.NextRunAt : undefined;
|
|
871
|
+
const nextRun = CronExpressionHelper.GetNextRunTime(job.CronExpression, job.Timezone, advanceFrom);
|
|
848
872
|
// Update in-memory entity so callers reading job.RunCount/job.NextRunAt
|
|
849
873
|
// immediately after see the new values without a Load round-trip.
|
|
850
874
|
job.RunCount++;
|
|
@@ -899,7 +923,117 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
899
923
|
}
|
|
900
924
|
}
|
|
901
925
|
/**
|
|
902
|
-
*
|
|
926
|
+
* Apply the job's missed-run policy, advancing past the missed occurrences when it says Skip.
|
|
927
|
+
*
|
|
928
|
+
* Only reached for a job that is already due, so the "merely due" case costs one cron
|
|
929
|
+
* computation and always runs. Whether anything was actually *missed* is decided
|
|
930
|
+
* cron-relatively — a later occurrence has also come due — rather than against a grace window,
|
|
931
|
+
* which would misjudge a per-minute job after a short pause and a monthly job that is a week
|
|
932
|
+
* late in opposite directions.
|
|
933
|
+
*
|
|
934
|
+
* **Synchronous on purpose.** It runs inside the dispatch loop, immediately before lock
|
|
935
|
+
* acquisition; making it async would insert a microtask exactly where ordering against the
|
|
936
|
+
* sweep's fire-and-forget cleanup matters. The decision needs no I/O — only the skip branch
|
|
937
|
+
* writes, and that is awaited separately once the answer is known.
|
|
938
|
+
*
|
|
939
|
+
* @returns true when the job should NOT run this tick.
|
|
940
|
+
*/
|
|
941
|
+
shouldSkipMissedRun(job, evalTime) {
|
|
942
|
+
if (!job.NextRunAt) {
|
|
943
|
+
return false;
|
|
944
|
+
}
|
|
945
|
+
// Fails OPEN throughout: this check can only ever *withhold* a run the schedule already
|
|
946
|
+
// said was due, so anything it cannot evaluate must let the job through. An unparseable
|
|
947
|
+
// cron is a configuration problem the execution path reports far better than a silent skip,
|
|
948
|
+
// and a helper that returns something other than a date is a bug that must not become a job
|
|
949
|
+
// that quietly stops running.
|
|
950
|
+
let followingOccurrence;
|
|
951
|
+
try {
|
|
952
|
+
followingOccurrence = CronExpressionHelper.GetNextRunTime(job.CronExpression, job.Timezone, job.NextRunAt);
|
|
953
|
+
}
|
|
954
|
+
catch (error) {
|
|
955
|
+
this.logError(`Could not evaluate the missed-run policy for "${job.Name}"; running it`, error);
|
|
956
|
+
return false;
|
|
957
|
+
}
|
|
958
|
+
if (!(followingOccurrence instanceof Date) || Number.isNaN(followingOccurrence.getTime())) {
|
|
959
|
+
return false;
|
|
960
|
+
}
|
|
961
|
+
return DecideMissedRun(job.MissedRunPolicy, job.NextRunAt, followingOccurrence, evalTime).Action === 'SkipAndAdvance';
|
|
962
|
+
}
|
|
963
|
+
/**
|
|
964
|
+
* Move a skipped job past the occurrences it missed, so it rejoins its schedule instead of
|
|
965
|
+
* being re-evaluated as missed on every subsequent poll.
|
|
966
|
+
*
|
|
967
|
+
* Best-effort: a failed advance is logged and retried next tick, never propagated.
|
|
968
|
+
*/
|
|
969
|
+
async advancePastMissedRuns(job, evalTime) {
|
|
970
|
+
try {
|
|
971
|
+
const resumeAt = CronExpressionHelper.GetNextRunTime(job.CronExpression, job.Timezone, evalTime);
|
|
972
|
+
job.NextRunAt = resumeAt;
|
|
973
|
+
if (await job.Save()) {
|
|
974
|
+
this.log(`Job "${job.Name}" skipped its missed run(s) per MissedRunPolicy=Skip; next run ${resumeAt.toISOString()}.`);
|
|
975
|
+
}
|
|
976
|
+
else {
|
|
977
|
+
this.logError(`Could not advance "${job.Name}" past its missed runs: ${job.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
catch (error) {
|
|
981
|
+
this.logError(`Advancing "${job.Name}" past its missed runs threw (non-fatal)`, error);
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Move jobs past their `EndAt` to `Status='Expired'`.
|
|
986
|
+
*
|
|
987
|
+
* **`Expired` has always been a declared status that nothing ever set.** `isJobDue` already
|
|
988
|
+
* refuses a job whose `EndAt` has passed, so such a job stops running on its own — but it stays
|
|
989
|
+
* `Active` forever, permanently inert, and keeps counting toward `UpdatePollingInterval`. A
|
|
990
|
+
* one-shot expressed as "cron at T plus `EndAt` just after T" therefore left the whole scheduler
|
|
991
|
+
* polling at that job's cadence for a job that will never run again.
|
|
992
|
+
*
|
|
993
|
+
* That makes this the one-shot story rather than a new schedule shape: "run once at T" is
|
|
994
|
+
* already expressible with the columns that exist, and what was missing was the retirement.
|
|
995
|
+
*
|
|
996
|
+
* Deliberately narrow. It only transitions `Active`/`Pending` — a `Paused` or `Disabled` job was
|
|
997
|
+
* put there by a person, and quietly rewriting their decision to `Expired` would lose it. And it
|
|
998
|
+
* only fires on `EndAt`, never on "the cron has no future occurrence": a cron always has one, so
|
|
999
|
+
* inferring exhaustion would be guessing.
|
|
1000
|
+
*
|
|
1001
|
+
* Best-effort: a failed transition is logged and retried on the next poll, never propagated —
|
|
1002
|
+
* retiring a finished job must not be able to stop live ones from dispatching.
|
|
1003
|
+
*/
|
|
1004
|
+
async expireFinishedJobs(contextUser, evalTime) {
|
|
1005
|
+
for (const job of this.ScheduledJobs) {
|
|
1006
|
+
if (!job.EndAt || evalTime <= job.EndAt) {
|
|
1007
|
+
continue;
|
|
1008
|
+
}
|
|
1009
|
+
if (job.Status !== 'Active' && job.Status !== 'Pending') {
|
|
1010
|
+
continue;
|
|
1011
|
+
}
|
|
1012
|
+
try {
|
|
1013
|
+
job.Status = 'Expired';
|
|
1014
|
+
if (await job.Save()) {
|
|
1015
|
+
this.log(`Job "${job.Name}" passed its EndAt (${job.EndAt.toISOString()}) — marked Expired.`);
|
|
1016
|
+
}
|
|
1017
|
+
else {
|
|
1018
|
+
this.logError(`Could not mark job "${job.Name}" Expired: ${job.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
catch (error) {
|
|
1022
|
+
this.logError(`Expiring job "${job.Name}" threw (non-fatal)`, error);
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
// The active set may have shrunk, and the polling cadence is derived from it — an expired
|
|
1026
|
+
// job must stop driving how often every other job is checked.
|
|
1027
|
+
this.UpdatePollingInterval();
|
|
1028
|
+
}
|
|
1029
|
+
/**
|
|
1030
|
+
* Send notifications if configured.
|
|
1031
|
+
*
|
|
1032
|
+
* Runs at the tail of job completion, after the run record is written — so a delivery problem
|
|
1033
|
+
* is contained here rather than faulting the bookkeeping of a job that actually succeeded.
|
|
1034
|
+
* `NotificationManager` already swallows its own errors; the guard covers the formatting call
|
|
1035
|
+
* into plugin code, which does not carry that contract.
|
|
1036
|
+
*
|
|
903
1037
|
* @private
|
|
904
1038
|
*/
|
|
905
1039
|
async sendNotificationsIfNeeded(job, context, result, plugin) {
|
|
@@ -920,8 +1054,23 @@ export class SchedulingEngine extends BaseSingleton {
|
|
|
920
1054
|
if (channels.length === 0) {
|
|
921
1055
|
return;
|
|
922
1056
|
}
|
|
923
|
-
|
|
924
|
-
|
|
1057
|
+
try {
|
|
1058
|
+
const content = plugin.FormatNotification(context, result);
|
|
1059
|
+
await NotificationManager.SendScheduledJobNotification({
|
|
1060
|
+
RecipientUserID: recipientUserId,
|
|
1061
|
+
Content: content,
|
|
1062
|
+
Channels: channels,
|
|
1063
|
+
ContextUser: context.ContextUser,
|
|
1064
|
+
ScheduledJobID: job.ID,
|
|
1065
|
+
ScheduledJobRunID: context.Run?.ID,
|
|
1066
|
+
// The provider this job ran under, not the process default — a server hosting more
|
|
1067
|
+
// than one connection must notify through the same one it read the job from.
|
|
1068
|
+
Provider: this.Base.ProviderToUse,
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
catch (error) {
|
|
1072
|
+
this.logError(`Notification for job "${job.Name}" failed (non-fatal)`, error);
|
|
1073
|
+
}
|
|
925
1074
|
}
|
|
926
1075
|
/**
|
|
927
1076
|
* Build a dialect-appropriate call to one of the scheduling lock sprocs,
|
|
@@ -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,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Driver for the bounded action-execution-log purge.
|
|
3
|
+
* @module @memberjunction/scheduling-engine
|
|
4
|
+
*/
|
|
5
|
+
import { BaseScheduledJob, ScheduledJobExecutionContext } from '../BaseScheduledJob.js';
|
|
6
|
+
import { UserInfo, ValidationResult } from '@memberjunction/core';
|
|
7
|
+
import { MJActionExecutionLogEntity, MJScheduledJobEntity } from '@memberjunction/core-entities';
|
|
8
|
+
import { NotificationContent, ScheduledJobConfiguration, ScheduledJobResult } from '@memberjunction/scheduling-base-types';
|
|
9
|
+
/** How many rows one run will delete before stopping, when the job does not say. */
|
|
10
|
+
export declare const DEFAULT_MAX_DELETES_PER_RUN = 5000;
|
|
11
|
+
/** Optional configuration (stored in `ScheduledJob.Configuration`). Every field is optional. */
|
|
12
|
+
export interface ActionLogRetentionJobConfiguration extends ScheduledJobConfiguration {
|
|
13
|
+
/**
|
|
14
|
+
* Lifetime, in days, for log rows that carry no retention of their own.
|
|
15
|
+
*
|
|
16
|
+
* Omitted means those rows are kept indefinitely. That is the deliberate default: a NULL
|
|
17
|
+
* retention is what the schema calls "indefinite", and a purge job that silently supplied a
|
|
18
|
+
* number would delete history nobody agreed to lose.
|
|
19
|
+
*/
|
|
20
|
+
DefaultRetentionDays?: number;
|
|
21
|
+
/** Ceiling on rows deleted per run. Defaults to {@link DEFAULT_MAX_DELETES_PER_RUN}. */
|
|
22
|
+
MaxDeletesPerRun?: number;
|
|
23
|
+
}
|
|
24
|
+
/** One retention bucket: every log row with this lifetime expires before {@link Cutoff}. */
|
|
25
|
+
export type RetentionBucket = {
|
|
26
|
+
RetentionDays: number;
|
|
27
|
+
Cutoff: Date;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Turns the distinct retention values present into the buckets a purge query needs.
|
|
31
|
+
*
|
|
32
|
+
* Bucketing rather than per-row date math is what keeps this a small number of indexable range
|
|
33
|
+
* queries instead of a scan: retention is stamped from the action, so the distinct set is roughly
|
|
34
|
+
* "one per configured action", not one per log row. Pure and exported so the arithmetic is testable
|
|
35
|
+
* without a clock or a database.
|
|
36
|
+
*
|
|
37
|
+
* @param now the reference instant, passed in rather than read, so a test can pin it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function BuildRetentionBuckets(retentionDays: readonly number[], now: Date): RetentionBucket[];
|
|
40
|
+
/**
|
|
41
|
+
* Purges expired `MJ: Action Execution Logs` rows, bounded per run.
|
|
42
|
+
*
|
|
43
|
+
* **Retention is decided at write time, not here.** `StartActionLog` stamps each row's
|
|
44
|
+
* `RetentionPeriod` from its action's, so this job reads only the row's own value — which is what
|
|
45
|
+
* makes an edit to `Action.RetentionPeriod` a going-forward change rather than a retroactive
|
|
46
|
+
* deletion of history written under the previous policy. A row with NULL retention is kept forever
|
|
47
|
+
* unless the job is explicitly configured with `DefaultRetentionDays`.
|
|
48
|
+
*
|
|
49
|
+
* **Deletion goes through `BaseEntity.Delete()`, one row at a time.** A `DELETE` statement would be
|
|
50
|
+
* faster and is a sanctioned use of raw DML in principle — but only for an entity that has opted in
|
|
51
|
+
* via `AllowDirectSQLDelete`, and this one has not. Honouring the platform's own gate matters more
|
|
52
|
+
* here than throughput, because the job is bounded anyway: the cap exists so a first run against a
|
|
53
|
+
* long-neglected table cannot become an unbounded transaction, and raising it is a configuration
|
|
54
|
+
* change rather than a code change.
|
|
55
|
+
*
|
|
56
|
+
* Opt-in like every other maintenance driver: shipping the job type activates nothing until someone
|
|
57
|
+
* creates a `MJ: Scheduled Job` of this type with a cron expression.
|
|
58
|
+
*/
|
|
59
|
+
export declare class ActionLogRetentionScheduledJobDriver extends BaseScheduledJob {
|
|
60
|
+
Execute(context: ScheduledJobExecutionContext): Promise<ScheduledJobResult>;
|
|
61
|
+
/**
|
|
62
|
+
* The expired rows, oldest first, capped at `maxDeletes`.
|
|
63
|
+
*
|
|
64
|
+
* Oldest-first is not cosmetic: a capped run that took an arbitrary slice would leave the same
|
|
65
|
+
* ancient rows behind every night while deleting newer ones, so the backlog would never drain.
|
|
66
|
+
*/
|
|
67
|
+
protected findExpiredLogs(config: ActionLogRetentionJobConfiguration, maxDeletes: number, user: UserInfo): Promise<MJActionExecutionLogEntity[]>;
|
|
68
|
+
/**
|
|
69
|
+
* The WHERE clause selecting expired rows, or null when nothing can expire.
|
|
70
|
+
*
|
|
71
|
+
* Returning null rather than a clause that matches nothing is deliberate — it lets the caller
|
|
72
|
+
* skip the query entirely on an instance where no action has ever configured retention, which is
|
|
73
|
+
* the common case and should cost nothing nightly.
|
|
74
|
+
*/
|
|
75
|
+
protected buildExpiredFilter(config: ActionLogRetentionJobConfiguration, user: UserInfo): Promise<string | null>;
|
|
76
|
+
/**
|
|
77
|
+
* The retention lifetimes actually in use, read from the actions that stamped them.
|
|
78
|
+
*
|
|
79
|
+
* Read from `MJ: Actions` rather than by scanning the log for distinct values, because the log
|
|
80
|
+
* is the large table and the actions table is not — and the two agree by construction, since the
|
|
81
|
+
* stamp comes from here.
|
|
82
|
+
*/
|
|
83
|
+
protected distinctRetentionDays(user: UserInfo): Promise<number[]>;
|
|
84
|
+
/**
|
|
85
|
+
* Deletes the given rows, counting rather than aborting on a failure.
|
|
86
|
+
*
|
|
87
|
+
* One bad row — a FK an extension added, a permission gap — must not strand the rest of the
|
|
88
|
+
* purge behind it every night. The count is reported so the failure is visible.
|
|
89
|
+
*/
|
|
90
|
+
protected deleteBounded(rows: MJActionExecutionLogEntity[]): Promise<{
|
|
91
|
+
Deleted: number;
|
|
92
|
+
Failed: number;
|
|
93
|
+
}>;
|
|
94
|
+
ValidateConfiguration(schedule: MJScheduledJobEntity): ValidationResult;
|
|
95
|
+
FormatNotification(context: ScheduledJobExecutionContext, result: ScheduledJobResult): NotificationContent;
|
|
96
|
+
/**
|
|
97
|
+
* Tolerant parse — the purge needs no configuration, so empty/missing JSON yields defaults.
|
|
98
|
+
*
|
|
99
|
+
* Named apart from the base's `parseConfiguration`, which throws on an empty Configuration
|
|
100
|
+
* because most job types genuinely require one. This job's every setting is optional, and a job
|
|
101
|
+
* that refused to run because nobody filled in a box would be a retention policy that quietly
|
|
102
|
+
* never applies.
|
|
103
|
+
*/
|
|
104
|
+
private readConfiguration;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=ActionLogRetentionScheduledJobDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionLogRetentionScheduledJobDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/ActionLogRetentionScheduledJobDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAIH,QAAQ,EAGR,gBAAgB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3H,oFAAoF;AACpF,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,gGAAgG;AAChG,MAAM,WAAW,kCAAmC,SAAQ,yBAAyB;IACjF;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,eAAe,EAAE,CAMpG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,oCAAqC,SAAQ,gBAAgB;IACzD,OAAO,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuBxF;;;;;OAKG;cACa,eAAe,CAC3B,MAAM,EAAE,kCAAkC,EAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAyBxC;;;;;;OAMG;cACa,kBAAkB,CAAC,MAAM,EAAE,kCAAkC,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkBtH;;;;;;OAMG;cACa,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBxE;;;;;OAKG;cACa,aAAa,CAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBxG,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,gBAAgB;IAoBvE,kBAAkB,CAAC,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,kBAAkB,GAAG,mBAAmB;IAwBjH;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAU5B"}
|