@azlib/scheduler 1.0.4 → 1.1.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/Dockerfile +14 -0
- package/README.md +40 -0
- package/compose.yaml +28 -0
- package/dist/cli-config-7F2U8qPM.mjs +462 -0
- package/dist/cli-config-7F2U8qPM.mjs.map +1 -0
- package/dist/cli-config-Cz8QP_4I.cjs +512 -0
- package/dist/dashboard/cli.cjs +30 -0
- package/dist/dashboard/cli.d.cts +6 -0
- package/dist/dashboard/cli.d.cts.map +1 -0
- package/dist/dashboard/cli.d.mts +6 -0
- package/dist/dashboard/cli.d.mts.map +1 -0
- package/dist/dashboard/cli.mjs +31 -0
- package/dist/dashboard/cli.mjs.map +1 -0
- package/dist/dashboard/public/assets/index-CbmpG6_w.css +2 -0
- package/dist/dashboard/public/assets/index-eWhp41cY.js +12 -0
- package/dist/dashboard/public/index.html +13 -0
- package/dist/dashboard-types-BHjRLcxJ.d.cts +127 -0
- package/dist/dashboard-types-BHjRLcxJ.d.cts.map +1 -0
- package/dist/dashboard-types-BHjRLcxJ.d.mts +127 -0
- package/dist/dashboard-types-BHjRLcxJ.d.mts.map +1 -0
- package/dist/dashboard.cjs +9 -0
- package/dist/dashboard.d.cts +20 -0
- package/dist/dashboard.d.cts.map +1 -0
- package/dist/dashboard.d.mts +20 -0
- package/dist/dashboard.d.mts.map +1 -0
- package/dist/dashboard.mjs +4 -0
- package/dist/http-server-DN6Lg464.d.cts +19 -0
- package/dist/http-server-DN6Lg464.d.cts.map +1 -0
- package/dist/http-server-DPQ9HIK-.d.mts +19 -0
- package/dist/http-server-DPQ9HIK-.d.mts.map +1 -0
- package/dist/index.cjs +49 -442
- package/dist/index.d.cts +3 -158
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -158
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +44 -439
- package/dist/index.mjs.map +1 -1
- package/dist/queue-dashboard-service-BFXcnfUr.cjs +55 -0
- package/dist/queue-dashboard-service-C0QapgOg.mjs +52 -0
- package/dist/queue-dashboard-service-C0QapgOg.mjs.map +1 -0
- package/dist/store-dashboard-C44d7sdh.d.cts +59 -0
- package/dist/store-dashboard-C44d7sdh.d.cts.map +1 -0
- package/dist/store-dashboard-Cyf_JILa.mjs +515 -0
- package/dist/store-dashboard-Cyf_JILa.mjs.map +1 -0
- package/dist/store-dashboard-D-yIxXxL.d.mts +59 -0
- package/dist/store-dashboard-D-yIxXxL.d.mts.map +1 -0
- package/dist/store-dashboard-Sg4BBWiJ.cjs +554 -0
- package/package.json +56 -8
package/dist/index.d.cts
CHANGED
|
@@ -1,93 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
type SchedulerMode = "standalone" | "embedded";
|
|
4
|
-
type ScheduleType = "once" | "cron";
|
|
5
|
-
type SchedulerOverlapPolicy = "skip" | "enqueue" | "coalesce";
|
|
6
|
-
type SchedulerMissedRunPolicy = "run-immediately" | "skip-missed";
|
|
7
|
-
interface SchedulerScheduleConfig {
|
|
8
|
-
scheduleType: ScheduleType;
|
|
9
|
-
expression: string;
|
|
10
|
-
timezone: string;
|
|
11
|
-
overlapPolicy?: SchedulerOverlapPolicy;
|
|
12
|
-
missedRunPolicy?: SchedulerMissedRunPolicy;
|
|
13
|
-
}
|
|
14
|
-
interface SchedulerJobDefinition<TConfig = unknown> {
|
|
15
|
-
name: string;
|
|
16
|
-
handlerKey: string;
|
|
17
|
-
schedule: SchedulerScheduleConfig;
|
|
18
|
-
config: TConfig;
|
|
19
|
-
enabled?: boolean;
|
|
20
|
-
}
|
|
21
|
-
interface SchedulerJobRecord<TConfig = unknown> extends SchedulerJobDefinition<TConfig> {
|
|
22
|
-
jobId: string;
|
|
23
|
-
enabled: boolean;
|
|
24
|
-
createdAt: string;
|
|
25
|
-
updatedAt: string;
|
|
26
|
-
}
|
|
27
|
-
interface SchedulerExecutionRecord {
|
|
28
|
-
executionId: string;
|
|
29
|
-
jobId: string;
|
|
30
|
-
scheduledFor: string;
|
|
31
|
-
triggeredAt: string;
|
|
32
|
-
status: "queued" | "running" | "succeeded" | "failed" | "dead-letter";
|
|
33
|
-
queueTaskId?: string;
|
|
34
|
-
attemptCount: number;
|
|
35
|
-
lastError?: string;
|
|
36
|
-
}
|
|
37
|
-
interface SchedulerJobListItem {
|
|
38
|
-
jobId: string;
|
|
39
|
-
name: string;
|
|
40
|
-
enabled: boolean;
|
|
41
|
-
nextRunAt?: string;
|
|
42
|
-
timezone: string;
|
|
43
|
-
}
|
|
44
|
-
interface SchedulerExecutionQuery {
|
|
45
|
-
jobId?: string;
|
|
46
|
-
status?: SchedulerExecutionRecord["status"];
|
|
47
|
-
from?: string;
|
|
48
|
-
to?: string;
|
|
49
|
-
limit?: number;
|
|
50
|
-
}
|
|
51
|
-
interface SchedulerService {
|
|
52
|
-
registerJob<TConfig>(job: SchedulerJobDefinition<TConfig>): Promise<{
|
|
53
|
-
jobId: string;
|
|
54
|
-
}>;
|
|
55
|
-
updateJob<TConfig>(jobId: string, patch: Partial<SchedulerJobDefinition<TConfig>>): Promise<void>;
|
|
56
|
-
pauseJob(jobId: string): Promise<void>;
|
|
57
|
-
resumeJob(jobId: string): Promise<void>;
|
|
58
|
-
deleteJob(jobId: string): Promise<void>;
|
|
59
|
-
listJobs(): Promise<SchedulerJobListItem[]>;
|
|
60
|
-
listExecutions(query?: SchedulerExecutionQuery): Promise<SchedulerExecutionRecord[]>;
|
|
61
|
-
retryFailedExecution(executionId: string): Promise<void>;
|
|
62
|
-
start(): Promise<void>;
|
|
63
|
-
stop(): Promise<void>;
|
|
64
|
-
}
|
|
65
|
-
interface SchedulerServiceOptions {
|
|
66
|
-
mode: SchedulerMode;
|
|
67
|
-
queueName?: string;
|
|
68
|
-
queueService?: import("@azlib/queue").QueueService;
|
|
69
|
-
cache?: import("@azlib/cache").Cache<string>;
|
|
70
|
-
logger?: {
|
|
71
|
-
debug(message: string, meta?: Record<string, unknown>): void;
|
|
72
|
-
info(message: string, meta?: Record<string, unknown>): void;
|
|
73
|
-
warn(message: string, meta?: Record<string, unknown>): void;
|
|
74
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
75
|
-
};
|
|
76
|
-
tickIntervalMs?: number;
|
|
77
|
-
maxDueJobsPerTick?: number;
|
|
78
|
-
persistence?: SchedulerPersistenceConfig;
|
|
79
|
-
}
|
|
80
|
-
interface SchedulerPersistenceConfig {
|
|
81
|
-
client: SqlClientAdapter;
|
|
82
|
-
dialect: SqlDialectAdapter;
|
|
83
|
-
namespace?: string;
|
|
84
|
-
}
|
|
85
|
-
interface SchedulerHandlerRegistry {
|
|
86
|
-
register<TConfig>(handlerKey: string, handler: (input: TConfig) => Promise<void>): void;
|
|
87
|
-
resolve(handlerKey: string): ((input: unknown) => Promise<void>) | null;
|
|
88
|
-
has(handlerKey: string): boolean;
|
|
89
|
-
}
|
|
90
|
-
//#endregion
|
|
1
|
+
import { a as SchedulerHandlerRegistry, c as SchedulerMissedRunPolicy, d as SchedulerPersistenceConfig, f as SchedulerScheduleConfig, l as SchedulerMode, m as SchedulerServiceOptions, n as SchedulerDashboardItem, o as SchedulerJobDefinition, p as SchedulerService, r as SchedulerDashboardService, s as SchedulerJobRecord, t as SchedulerDashboardHealth, u as SchedulerOverlapPolicy } from "./dashboard-types-BHjRLcxJ.cjs";
|
|
2
|
+
import { i as createSchedulerDashboardService, n as createSchedulerDashboardFromStores, r as createSchedulerPersistence, t as createSchedulerDashboardFromPersistence } from "./store-dashboard-C44d7sdh.cjs";
|
|
91
3
|
//#region src/contracts/scheduler-host.d.ts
|
|
92
4
|
interface SchedulerHostAdapter {
|
|
93
5
|
onStart(listener: () => Promise<void> | void): void;
|
|
@@ -142,78 +54,11 @@ declare class CronExpressionBuilder {
|
|
|
142
54
|
}
|
|
143
55
|
declare function createCronExpression(): CronExpressionBuilder;
|
|
144
56
|
//#endregion
|
|
145
|
-
//#region src/dashboard/queue-queries.d.ts
|
|
146
|
-
interface SchedulerDashboardHealth {
|
|
147
|
-
totalJobs: number;
|
|
148
|
-
enabledJobs: number;
|
|
149
|
-
pausedJobs: number;
|
|
150
|
-
failedExecutions: number;
|
|
151
|
-
}
|
|
152
|
-
declare function querySchedulerHealth(scheduler: SchedulerService): Promise<SchedulerDashboardHealth>;
|
|
153
|
-
declare function querySchedulerItems(scheduler: SchedulerService): Promise<{
|
|
154
|
-
jobId: string;
|
|
155
|
-
name: string;
|
|
156
|
-
enabled: boolean;
|
|
157
|
-
nextRunAt?: string;
|
|
158
|
-
timezone: string;
|
|
159
|
-
executions: SchedulerExecutionRecord[];
|
|
160
|
-
}[]>;
|
|
161
|
-
//#endregion
|
|
162
|
-
//#region src/dashboard/queue-dashboard-service.d.ts
|
|
163
|
-
interface SchedulerDashboardService {
|
|
164
|
-
getHealth(): ReturnType<typeof querySchedulerHealth>;
|
|
165
|
-
listItems(): ReturnType<typeof querySchedulerItems>;
|
|
166
|
-
pauseJob(jobId: string): Promise<void>;
|
|
167
|
-
resumeJob(jobId: string): Promise<void>;
|
|
168
|
-
retryExecution(executionId: string): Promise<void>;
|
|
169
|
-
}
|
|
170
|
-
declare function createSchedulerDashboardService(scheduler: SchedulerService): SchedulerDashboardService;
|
|
171
|
-
//#endregion
|
|
172
|
-
//#region src/core/job-execution-store.d.ts
|
|
173
|
-
interface JobExecutionStore {
|
|
174
|
-
create(record: SchedulerExecutionRecord): Promise<SchedulerExecutionRecord>;
|
|
175
|
-
update(executionId: string, patch: Partial<Omit<SchedulerExecutionRecord, "executionId">>): Promise<SchedulerExecutionRecord | null>;
|
|
176
|
-
listByJob(jobId: string): Promise<SchedulerExecutionRecord[]>;
|
|
177
|
-
}
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/core/schedule-cursor-store.d.ts
|
|
180
|
-
interface ScheduleCursorRecord {
|
|
181
|
-
jobId: string;
|
|
182
|
-
lastEvaluatedAt: string;
|
|
183
|
-
lastTriggeredAt?: string;
|
|
184
|
-
nextRunAt: string;
|
|
185
|
-
version: number;
|
|
186
|
-
}
|
|
187
|
-
interface ScheduleCursorStore {
|
|
188
|
-
set(jobId: string, nextRunAt: string, now: string): Promise<ScheduleCursorRecord>;
|
|
189
|
-
markTriggered(jobId: string, triggeredAt: string): Promise<ScheduleCursorRecord | null>;
|
|
190
|
-
get(jobId: string): Promise<ScheduleCursorRecord | null>;
|
|
191
|
-
remove(jobId: string): Promise<boolean>;
|
|
192
|
-
}
|
|
193
|
-
//#endregion
|
|
194
|
-
//#region src/core/scheduler-job-store.d.ts
|
|
195
|
-
interface SchedulerJobStore {
|
|
196
|
-
create(jobId: string, definition: SchedulerJobDefinition): Promise<SchedulerJobRecord>;
|
|
197
|
-
update(jobId: string, patch: Partial<SchedulerJobDefinition>): Promise<SchedulerJobRecord | null>;
|
|
198
|
-
setEnabled(jobId: string, enabled: boolean): Promise<SchedulerJobRecord | null>;
|
|
199
|
-
get(jobId: string): Promise<SchedulerJobRecord | null>;
|
|
200
|
-
list(): Promise<SchedulerJobRecord[]>;
|
|
201
|
-
remove(jobId: string): Promise<boolean>;
|
|
202
|
-
}
|
|
203
|
-
//#endregion
|
|
204
|
-
//#region src/core/persistence.d.ts
|
|
205
|
-
interface SchedulerPersistence {
|
|
206
|
-
jobStore: SchedulerJobStore;
|
|
207
|
-
cursorStore: ScheduleCursorStore;
|
|
208
|
-
executionStore: JobExecutionStore;
|
|
209
|
-
}
|
|
210
|
-
declare function createSchedulerPersistence(config: SchedulerPersistenceConfig): SchedulerPersistence;
|
|
211
|
-
//#endregion
|
|
212
57
|
//#region index.d.ts
|
|
213
58
|
declare function createSchedulerService(options: SchedulerServiceOptions): {
|
|
214
59
|
service: SchedulerService;
|
|
215
60
|
handlers: SchedulerHandlerRegistry;
|
|
216
61
|
};
|
|
217
62
|
//#endregion
|
|
218
|
-
export { CronWeekday, type CronWeekdayValue, type SchedulerHandlerRegistry, type SchedulerHostAdapter, type SchedulerJobDefinition, type SchedulerJobRecord, type SchedulerMissedRunPolicy, type SchedulerMode, type SchedulerOverlapPolicy, type SchedulerPersistenceConfig, type SchedulerScheduleConfig, type SchedulerService, type SchedulerServiceOptions, bindSchedulerToHost, createCronExpression, createSchedulerDashboardService, createSchedulerPersistence, createSchedulerService };
|
|
63
|
+
export { CronWeekday, type CronWeekdayValue, type SchedulerDashboardHealth, type SchedulerDashboardItem, type SchedulerDashboardService, type SchedulerHandlerRegistry, type SchedulerHostAdapter, type SchedulerJobDefinition, type SchedulerJobRecord, type SchedulerMissedRunPolicy, type SchedulerMode, type SchedulerOverlapPolicy, type SchedulerPersistenceConfig, type SchedulerScheduleConfig, type SchedulerService, type SchedulerServiceOptions, bindSchedulerToHost, createCronExpression, createSchedulerDashboardFromPersistence, createSchedulerDashboardFromStores, createSchedulerDashboardService, createSchedulerPersistence, createSchedulerService };
|
|
219
64
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/contracts/scheduler-
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/contracts/scheduler-host.ts","../src/core/scheduler-host-binding.ts","../src/core/cron-expression-builder.ts","../index.ts"],"mappings":";;;UAAiB;EACf,QAAQ,gBAAgB;EACxB,OAAO,gBAAgB;;;;iBCCT,oBACd,WAAW,kBACX,MAAM;;;cCHK;WACX;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,2BAA2B,0BAA0B;cAgCpD;UACH;UACA;UACA;UACA;UACA;EAER;EAKA,cAAc;EAMd,SAAS;EAMT,UAAU;EASV;EAKA,YAAY;EAMZ,OAAO;EAMP,QAAQ;EASR,aAAa;EAMb,cAAc;EASd,kBAAkB;EAMlB;EAKA,QAAQ;EAMR,SAAS;EAST,aAAa;EAMb,UAAU,SAAS;EAMnB,WAAW,UAAU;EAWrB,eAAe;EAMf;EAKA;EAKA,QAAQ,cAAc;EAStB,SAAS,SAAS,kBAAkB,eAAU;EAS9C,UAAU,oBAAoB,eAAU;EASxC;EAIA;;iBAKc,wBAAwB;;;iBCnLxB,uBAAuB,SAAS;EAC9C,SAAS;EACT,UAAU"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,93 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
type SchedulerMode = "standalone" | "embedded";
|
|
4
|
-
type ScheduleType = "once" | "cron";
|
|
5
|
-
type SchedulerOverlapPolicy = "skip" | "enqueue" | "coalesce";
|
|
6
|
-
type SchedulerMissedRunPolicy = "run-immediately" | "skip-missed";
|
|
7
|
-
interface SchedulerScheduleConfig {
|
|
8
|
-
scheduleType: ScheduleType;
|
|
9
|
-
expression: string;
|
|
10
|
-
timezone: string;
|
|
11
|
-
overlapPolicy?: SchedulerOverlapPolicy;
|
|
12
|
-
missedRunPolicy?: SchedulerMissedRunPolicy;
|
|
13
|
-
}
|
|
14
|
-
interface SchedulerJobDefinition<TConfig = unknown> {
|
|
15
|
-
name: string;
|
|
16
|
-
handlerKey: string;
|
|
17
|
-
schedule: SchedulerScheduleConfig;
|
|
18
|
-
config: TConfig;
|
|
19
|
-
enabled?: boolean;
|
|
20
|
-
}
|
|
21
|
-
interface SchedulerJobRecord<TConfig = unknown> extends SchedulerJobDefinition<TConfig> {
|
|
22
|
-
jobId: string;
|
|
23
|
-
enabled: boolean;
|
|
24
|
-
createdAt: string;
|
|
25
|
-
updatedAt: string;
|
|
26
|
-
}
|
|
27
|
-
interface SchedulerExecutionRecord {
|
|
28
|
-
executionId: string;
|
|
29
|
-
jobId: string;
|
|
30
|
-
scheduledFor: string;
|
|
31
|
-
triggeredAt: string;
|
|
32
|
-
status: "queued" | "running" | "succeeded" | "failed" | "dead-letter";
|
|
33
|
-
queueTaskId?: string;
|
|
34
|
-
attemptCount: number;
|
|
35
|
-
lastError?: string;
|
|
36
|
-
}
|
|
37
|
-
interface SchedulerJobListItem {
|
|
38
|
-
jobId: string;
|
|
39
|
-
name: string;
|
|
40
|
-
enabled: boolean;
|
|
41
|
-
nextRunAt?: string;
|
|
42
|
-
timezone: string;
|
|
43
|
-
}
|
|
44
|
-
interface SchedulerExecutionQuery {
|
|
45
|
-
jobId?: string;
|
|
46
|
-
status?: SchedulerExecutionRecord["status"];
|
|
47
|
-
from?: string;
|
|
48
|
-
to?: string;
|
|
49
|
-
limit?: number;
|
|
50
|
-
}
|
|
51
|
-
interface SchedulerService {
|
|
52
|
-
registerJob<TConfig>(job: SchedulerJobDefinition<TConfig>): Promise<{
|
|
53
|
-
jobId: string;
|
|
54
|
-
}>;
|
|
55
|
-
updateJob<TConfig>(jobId: string, patch: Partial<SchedulerJobDefinition<TConfig>>): Promise<void>;
|
|
56
|
-
pauseJob(jobId: string): Promise<void>;
|
|
57
|
-
resumeJob(jobId: string): Promise<void>;
|
|
58
|
-
deleteJob(jobId: string): Promise<void>;
|
|
59
|
-
listJobs(): Promise<SchedulerJobListItem[]>;
|
|
60
|
-
listExecutions(query?: SchedulerExecutionQuery): Promise<SchedulerExecutionRecord[]>;
|
|
61
|
-
retryFailedExecution(executionId: string): Promise<void>;
|
|
62
|
-
start(): Promise<void>;
|
|
63
|
-
stop(): Promise<void>;
|
|
64
|
-
}
|
|
65
|
-
interface SchedulerServiceOptions {
|
|
66
|
-
mode: SchedulerMode;
|
|
67
|
-
queueName?: string;
|
|
68
|
-
queueService?: import("@azlib/queue").QueueService;
|
|
69
|
-
cache?: import("@azlib/cache").Cache<string>;
|
|
70
|
-
logger?: {
|
|
71
|
-
debug(message: string, meta?: Record<string, unknown>): void;
|
|
72
|
-
info(message: string, meta?: Record<string, unknown>): void;
|
|
73
|
-
warn(message: string, meta?: Record<string, unknown>): void;
|
|
74
|
-
error(message: string, meta?: Record<string, unknown>): void;
|
|
75
|
-
};
|
|
76
|
-
tickIntervalMs?: number;
|
|
77
|
-
maxDueJobsPerTick?: number;
|
|
78
|
-
persistence?: SchedulerPersistenceConfig;
|
|
79
|
-
}
|
|
80
|
-
interface SchedulerPersistenceConfig {
|
|
81
|
-
client: SqlClientAdapter;
|
|
82
|
-
dialect: SqlDialectAdapter;
|
|
83
|
-
namespace?: string;
|
|
84
|
-
}
|
|
85
|
-
interface SchedulerHandlerRegistry {
|
|
86
|
-
register<TConfig>(handlerKey: string, handler: (input: TConfig) => Promise<void>): void;
|
|
87
|
-
resolve(handlerKey: string): ((input: unknown) => Promise<void>) | null;
|
|
88
|
-
has(handlerKey: string): boolean;
|
|
89
|
-
}
|
|
90
|
-
//#endregion
|
|
1
|
+
import { a as SchedulerHandlerRegistry, c as SchedulerMissedRunPolicy, d as SchedulerPersistenceConfig, f as SchedulerScheduleConfig, l as SchedulerMode, m as SchedulerServiceOptions, n as SchedulerDashboardItem, o as SchedulerJobDefinition, p as SchedulerService, r as SchedulerDashboardService, s as SchedulerJobRecord, t as SchedulerDashboardHealth, u as SchedulerOverlapPolicy } from "./dashboard-types-BHjRLcxJ.mjs";
|
|
2
|
+
import { i as createSchedulerDashboardService, n as createSchedulerDashboardFromStores, r as createSchedulerPersistence, t as createSchedulerDashboardFromPersistence } from "./store-dashboard-D-yIxXxL.mjs";
|
|
91
3
|
//#region src/contracts/scheduler-host.d.ts
|
|
92
4
|
interface SchedulerHostAdapter {
|
|
93
5
|
onStart(listener: () => Promise<void> | void): void;
|
|
@@ -142,78 +54,11 @@ declare class CronExpressionBuilder {
|
|
|
142
54
|
}
|
|
143
55
|
declare function createCronExpression(): CronExpressionBuilder;
|
|
144
56
|
//#endregion
|
|
145
|
-
//#region src/dashboard/queue-queries.d.ts
|
|
146
|
-
interface SchedulerDashboardHealth {
|
|
147
|
-
totalJobs: number;
|
|
148
|
-
enabledJobs: number;
|
|
149
|
-
pausedJobs: number;
|
|
150
|
-
failedExecutions: number;
|
|
151
|
-
}
|
|
152
|
-
declare function querySchedulerHealth(scheduler: SchedulerService): Promise<SchedulerDashboardHealth>;
|
|
153
|
-
declare function querySchedulerItems(scheduler: SchedulerService): Promise<{
|
|
154
|
-
jobId: string;
|
|
155
|
-
name: string;
|
|
156
|
-
enabled: boolean;
|
|
157
|
-
nextRunAt?: string;
|
|
158
|
-
timezone: string;
|
|
159
|
-
executions: SchedulerExecutionRecord[];
|
|
160
|
-
}[]>;
|
|
161
|
-
//#endregion
|
|
162
|
-
//#region src/dashboard/queue-dashboard-service.d.ts
|
|
163
|
-
interface SchedulerDashboardService {
|
|
164
|
-
getHealth(): ReturnType<typeof querySchedulerHealth>;
|
|
165
|
-
listItems(): ReturnType<typeof querySchedulerItems>;
|
|
166
|
-
pauseJob(jobId: string): Promise<void>;
|
|
167
|
-
resumeJob(jobId: string): Promise<void>;
|
|
168
|
-
retryExecution(executionId: string): Promise<void>;
|
|
169
|
-
}
|
|
170
|
-
declare function createSchedulerDashboardService(scheduler: SchedulerService): SchedulerDashboardService;
|
|
171
|
-
//#endregion
|
|
172
|
-
//#region src/core/job-execution-store.d.ts
|
|
173
|
-
interface JobExecutionStore {
|
|
174
|
-
create(record: SchedulerExecutionRecord): Promise<SchedulerExecutionRecord>;
|
|
175
|
-
update(executionId: string, patch: Partial<Omit<SchedulerExecutionRecord, "executionId">>): Promise<SchedulerExecutionRecord | null>;
|
|
176
|
-
listByJob(jobId: string): Promise<SchedulerExecutionRecord[]>;
|
|
177
|
-
}
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/core/schedule-cursor-store.d.ts
|
|
180
|
-
interface ScheduleCursorRecord {
|
|
181
|
-
jobId: string;
|
|
182
|
-
lastEvaluatedAt: string;
|
|
183
|
-
lastTriggeredAt?: string;
|
|
184
|
-
nextRunAt: string;
|
|
185
|
-
version: number;
|
|
186
|
-
}
|
|
187
|
-
interface ScheduleCursorStore {
|
|
188
|
-
set(jobId: string, nextRunAt: string, now: string): Promise<ScheduleCursorRecord>;
|
|
189
|
-
markTriggered(jobId: string, triggeredAt: string): Promise<ScheduleCursorRecord | null>;
|
|
190
|
-
get(jobId: string): Promise<ScheduleCursorRecord | null>;
|
|
191
|
-
remove(jobId: string): Promise<boolean>;
|
|
192
|
-
}
|
|
193
|
-
//#endregion
|
|
194
|
-
//#region src/core/scheduler-job-store.d.ts
|
|
195
|
-
interface SchedulerJobStore {
|
|
196
|
-
create(jobId: string, definition: SchedulerJobDefinition): Promise<SchedulerJobRecord>;
|
|
197
|
-
update(jobId: string, patch: Partial<SchedulerJobDefinition>): Promise<SchedulerJobRecord | null>;
|
|
198
|
-
setEnabled(jobId: string, enabled: boolean): Promise<SchedulerJobRecord | null>;
|
|
199
|
-
get(jobId: string): Promise<SchedulerJobRecord | null>;
|
|
200
|
-
list(): Promise<SchedulerJobRecord[]>;
|
|
201
|
-
remove(jobId: string): Promise<boolean>;
|
|
202
|
-
}
|
|
203
|
-
//#endregion
|
|
204
|
-
//#region src/core/persistence.d.ts
|
|
205
|
-
interface SchedulerPersistence {
|
|
206
|
-
jobStore: SchedulerJobStore;
|
|
207
|
-
cursorStore: ScheduleCursorStore;
|
|
208
|
-
executionStore: JobExecutionStore;
|
|
209
|
-
}
|
|
210
|
-
declare function createSchedulerPersistence(config: SchedulerPersistenceConfig): SchedulerPersistence;
|
|
211
|
-
//#endregion
|
|
212
57
|
//#region index.d.ts
|
|
213
58
|
declare function createSchedulerService(options: SchedulerServiceOptions): {
|
|
214
59
|
service: SchedulerService;
|
|
215
60
|
handlers: SchedulerHandlerRegistry;
|
|
216
61
|
};
|
|
217
62
|
//#endregion
|
|
218
|
-
export { CronWeekday, type CronWeekdayValue, type SchedulerHandlerRegistry, type SchedulerHostAdapter, type SchedulerJobDefinition, type SchedulerJobRecord, type SchedulerMissedRunPolicy, type SchedulerMode, type SchedulerOverlapPolicy, type SchedulerPersistenceConfig, type SchedulerScheduleConfig, type SchedulerService, type SchedulerServiceOptions, bindSchedulerToHost, createCronExpression, createSchedulerDashboardService, createSchedulerPersistence, createSchedulerService };
|
|
63
|
+
export { CronWeekday, type CronWeekdayValue, type SchedulerDashboardHealth, type SchedulerDashboardItem, type SchedulerDashboardService, type SchedulerHandlerRegistry, type SchedulerHostAdapter, type SchedulerJobDefinition, type SchedulerJobRecord, type SchedulerMissedRunPolicy, type SchedulerMode, type SchedulerOverlapPolicy, type SchedulerPersistenceConfig, type SchedulerScheduleConfig, type SchedulerService, type SchedulerServiceOptions, bindSchedulerToHost, createCronExpression, createSchedulerDashboardFromPersistence, createSchedulerDashboardFromStores, createSchedulerDashboardService, createSchedulerPersistence, createSchedulerService };
|
|
219
64
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/contracts/scheduler-
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/contracts/scheduler-host.ts","../src/core/scheduler-host-binding.ts","../src/core/cron-expression-builder.ts","../index.ts"],"mappings":";;;UAAiB;EACf,QAAQ,gBAAgB;EACxB,OAAO,gBAAgB;;;;iBCCT,oBACd,WAAW,kBACX,MAAM;;;cCHK;WACX;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,2BAA2B,0BAA0B;cAgCpD;UACH;UACA;UACA;UACA;UACA;EAER;EAKA,cAAc;EAMd,SAAS;EAMT,UAAU;EASV;EAKA,YAAY;EAMZ,OAAO;EAMP,QAAQ;EASR,aAAa;EAMb,cAAc;EASd,kBAAkB;EAMlB;EAKA,QAAQ;EAMR,SAAS;EAST,aAAa;EAMb,UAAU,SAAS;EAMnB,WAAW,UAAU;EAWrB,eAAe;EAMf;EAKA;EAKA,QAAQ,cAAc;EAStB,SAAS,SAAS,kBAAkB,eAAU;EAS9C,UAAU,oBAAoB,eAAU;EASxC;EAIA;;iBAKc,wBAAwB;;;iBCnLxB,uBAAuB,SAAS;EAC9C,SAAS;EACT,UAAU"}
|