@appconda/nextjs 1.0.131 → 1.0.133
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/modules/hooks/index.d.ts +3 -0
- package/dist/modules/hooks/index.js +4 -0
- package/dist/modules/hooks/lib/Hooks.d.ts +32 -0
- package/dist/modules/hooks/lib/Hooks.js +64 -0
- package/dist/modules/hooks/lib/handler.d.ts +12 -0
- package/dist/modules/hooks/lib/handler.js +23 -0
- package/dist/modules/hooks/lib/jobs/index.d.ts +2 -0
- package/dist/modules/hooks/lib/jobs/index.js +3 -0
- package/dist/modules/hooks/lib/jobs/job1.d.ts +1 -0
- package/dist/modules/hooks/lib/jobs/job1.js +16 -0
- package/dist/modules/hooks/lib/jobs/log-job.d.ts +1 -0
- package/dist/modules/hooks/lib/jobs/log-job.js +9 -0
- package/dist/modules/hooks/lib/wait.d.ts +8 -0
- package/dist/modules/hooks/lib/wait.js +13 -0
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.js +2 -1
- package/dist/modules/scheduled-job/action.d.ts +31 -17
- package/dist/modules/scheduled-job/action.js +40 -2
- package/dist/modules/scheduled-job/index.d.ts +3 -0
- package/dist/modules/scheduled-job/index.js +4 -1
- package/dist/modules/scheduled-job/lib/Schedules.d.ts +32 -0
- package/dist/modules/scheduled-job/lib/Schedules.js +64 -0
- package/dist/modules/scheduled-job/lib/handler.d.ts +12 -0
- package/dist/modules/scheduled-job/lib/handler.js +23 -0
- package/dist/modules/scheduled-job/lib/jobs/index.d.ts +2 -0
- package/dist/modules/scheduled-job/lib/jobs/index.js +3 -0
- package/dist/modules/scheduled-job/lib/jobs/job1.d.ts +1 -0
- package/dist/modules/scheduled-job/lib/jobs/job1.js +30 -0
- package/dist/modules/scheduled-job/lib/jobs/log-job.d.ts +1 -0
- package/dist/modules/scheduled-job/lib/jobs/log-job.js +9 -0
- package/dist/modules/scheduled-job/lib/wait.d.ts +8 -0
- package/dist/modules/scheduled-job/lib/wait.js +13 -0
- package/dist/modules/scheduled-job/schema.d.ts +20 -0
- package/dist/modules/scheduled-job/schema.js +10 -2
- package/dist/modules/scheduled-job/service.d.ts +4 -2
- package/dist/modules/scheduled-job/service.js +7 -1
- package/dist/modules/scheduled-job/types.d.ts +6 -0
- package/dist/modules/scheduled-job/types.js +1 -1
- package/package.json +1 -1
- package/src/modules/hooks/index.ts +5 -0
- package/src/modules/hooks/lib/Hooks.ts +103 -0
- package/src/modules/hooks/lib/handler.ts +27 -0
- package/src/modules/hooks/lib/jobs/index.ts +2 -0
- package/src/modules/hooks/lib/jobs/job1.ts +20 -0
- package/src/modules/hooks/lib/jobs/log-job.ts +10 -0
- package/src/modules/hooks/lib/wait.ts +17 -0
- package/src/modules/index.ts +2 -1
- package/src/modules/scheduled-job/action.ts +45 -2
- package/src/modules/scheduled-job/index.ts +5 -1
- package/src/modules/scheduled-job/lib/Schedules.ts +103 -0
- package/src/modules/scheduled-job/lib/handler.ts +27 -0
- package/src/modules/scheduled-job/lib/jobs/index.ts +2 -0
- package/src/modules/scheduled-job/lib/jobs/job1.ts +34 -0
- package/src/modules/scheduled-job/lib/jobs/log-job.ts +9 -0
- package/src/modules/scheduled-job/lib/wait.ts +17 -0
- package/src/modules/scheduled-job/schema.ts +13 -1
- package/src/modules/scheduled-job/service.ts +10 -2
- package/src/modules/scheduled-job/types.ts +10 -0
@@ -0,0 +1,4 @@
|
|
1
|
+
export * from './lib/handler';
|
2
|
+
export * from './lib/Hooks';
|
3
|
+
import './lib/jobs';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9ob29rcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUU1QixPQUFPLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9Ib29rcyc7XG5cbmltcG9ydCAnLi9saWIvam9icyc7XG4iXX0=
|
@@ -0,0 +1,32 @@
|
|
1
|
+
type TaskPayload = {
|
2
|
+
timestamp: Date;
|
3
|
+
lastTimestamp?: Date;
|
4
|
+
timezone: string;
|
5
|
+
};
|
6
|
+
type TaskContext = {
|
7
|
+
retriesLeft: number;
|
8
|
+
};
|
9
|
+
type TriggerArgs = {
|
10
|
+
id: string;
|
11
|
+
events: string[];
|
12
|
+
maxDuration?: number;
|
13
|
+
retries?: number;
|
14
|
+
run: (payload: TaskPayload, tools: {
|
15
|
+
ctx: TaskContext;
|
16
|
+
}) => Promise<void> | void;
|
17
|
+
};
|
18
|
+
export declare class Hooks {
|
19
|
+
private lastRunTimestamps;
|
20
|
+
private triggers;
|
21
|
+
trigger(args: TriggerArgs): void;
|
22
|
+
run(hookId: string): Promise<void>;
|
23
|
+
private runWithRetry;
|
24
|
+
toJSON(): {
|
25
|
+
id: string;
|
26
|
+
events: string[];
|
27
|
+
maxDuration: number | undefined;
|
28
|
+
retries: number | undefined;
|
29
|
+
}[];
|
30
|
+
}
|
31
|
+
export declare const hooks: Hooks;
|
32
|
+
export {};
|
@@ -0,0 +1,64 @@
|
|
1
|
+
export class Hooks {
|
2
|
+
constructor() {
|
3
|
+
this.lastRunTimestamps = {};
|
4
|
+
this.triggers = [];
|
5
|
+
}
|
6
|
+
trigger(args) {
|
7
|
+
this.triggers.push(args);
|
8
|
+
}
|
9
|
+
async run(hookId) {
|
10
|
+
const now = new Date();
|
11
|
+
const lastTimestamp = this.lastRunTimestamps[hookId];
|
12
|
+
const payload = {
|
13
|
+
timestamp: now,
|
14
|
+
lastTimestamp,
|
15
|
+
timezone: "UTC",
|
16
|
+
};
|
17
|
+
this.lastRunTimestamps[hookId] = now;
|
18
|
+
const context = {
|
19
|
+
retriesLeft: this.triggers.find(hook => hook.id === hookId)?.retries ?? 0,
|
20
|
+
};
|
21
|
+
await this.runWithRetry(this.triggers.find(hook => hook.id === hookId), payload, context);
|
22
|
+
}
|
23
|
+
async runWithRetry(trigger, payload, ctx) {
|
24
|
+
const start = Date.now();
|
25
|
+
try {
|
26
|
+
await Promise.race([
|
27
|
+
trigger.run(payload, { ctx }),
|
28
|
+
timeout(trigger.maxDuration ?? 60),
|
29
|
+
]);
|
30
|
+
log("success", { hookId: trigger.id, time: new Date().toISOString() });
|
31
|
+
}
|
32
|
+
catch (err) {
|
33
|
+
//@ts-ignore
|
34
|
+
log("error", { hookId: trigger.id, error: err });
|
35
|
+
if (ctx.retriesLeft > 0) {
|
36
|
+
ctx.retriesLeft -= 1;
|
37
|
+
//@ts-ignore
|
38
|
+
log("warn", { hookId: trigger.id, msg: "Retrying..." });
|
39
|
+
await this.runWithRetry(trigger, payload, ctx);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
finally {
|
43
|
+
const duration = Date.now() - start;
|
44
|
+
//@ts-ignore
|
45
|
+
log("info", { hookId: trigger.id, durationMs: duration });
|
46
|
+
}
|
47
|
+
}
|
48
|
+
toJSON() {
|
49
|
+
return this.triggers.map(trigger => ({
|
50
|
+
id: trigger.id,
|
51
|
+
events: trigger.events,
|
52
|
+
maxDuration: trigger.maxDuration,
|
53
|
+
retries: trigger.retries,
|
54
|
+
}));
|
55
|
+
}
|
56
|
+
}
|
57
|
+
function log(arg0, arg1) {
|
58
|
+
// console.log(arg0, arg1);
|
59
|
+
}
|
60
|
+
function timeout(seconds) {
|
61
|
+
return new Promise((_, reject) => setTimeout(() => reject(new Error("Timeout reached")), seconds * 1000));
|
62
|
+
}
|
63
|
+
export const hooks = new Hooks();
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9ob29rcy9saWIvSG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JBLE1BQU0sT0FBTyxLQUFLO0lBQWxCO1FBQ1ksc0JBQWlCLEdBQXlCLEVBQUUsQ0FBQztRQUM3QyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztJQWlFekMsQ0FBQztJQS9EVSxPQUFPLENBQUMsSUFBaUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBYztRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxNQUFNLE9BQU8sR0FBZ0I7WUFDekIsU0FBUyxFQUFFLEdBQUc7WUFDZCxhQUFhO1lBQ2IsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFckMsTUFBTSxPQUFPLEdBQWdCO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUM7U0FDNUUsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRy9GLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWSxDQUN0QixPQUFvQixFQUNwQixPQUFvQixFQUNwQixHQUFnQjtRQUVoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQzthQUNyQyxDQUFDLENBQUM7WUFDSCxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsWUFBWTtZQUNaLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUVqRCxJQUFJLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO2dCQUNyQixZQUFZO2dCQUNaLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNMLENBQUM7Z0JBQVMsQ0FBQztZQUNQLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDcEMsWUFBWTtZQUNaLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztTQUMzQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Q0FDSjtBQUVELFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxJQUF1QztJQUM5RCwyQkFBMkI7QUFDL0IsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLE9BQWU7SUFDNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQ3pFLENBQUM7QUFDTixDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbnR5cGUgVGFza1BheWxvYWQgPSB7XG4gICAgdGltZXN0YW1wOiBEYXRlO1xuICAgIGxhc3RUaW1lc3RhbXA/OiBEYXRlO1xuICAgIHRpbWV6b25lOiBzdHJpbmc7XG59O1xuXG50eXBlIFRhc2tDb250ZXh0ID0ge1xuICAgIHJldHJpZXNMZWZ0OiBudW1iZXI7XG59O1xuXG50eXBlIFRyaWdnZXJBcmdzID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZXZlbnRzOiBzdHJpbmdbXTtcbiAgICBtYXhEdXJhdGlvbj86IG51bWJlcjsgLy8gc2FuaXllXG4gICAgcmV0cmllcz86IG51bWJlcjtcbiAgICBydW46IChcbiAgICAgICAgcGF5bG9hZDogVGFza1BheWxvYWQsXG4gICAgICAgIHRvb2xzOiB7IGN0eDogVGFza0NvbnRleHQgfVxuICAgICkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59O1xuXG5leHBvcnQgY2xhc3MgSG9va3Mge1xuICAgIHByaXZhdGUgbGFzdFJ1blRpbWVzdGFtcHM6IFJlY29yZDxzdHJpbmcsIERhdGU+ID0ge307XG4gICAgcHJpdmF0ZSB0cmlnZ2VyczogVHJpZ2dlckFyZ3NbXSA9IFtdO1xuXG4gICAgcHVibGljIHRyaWdnZXIoYXJnczogVHJpZ2dlckFyZ3MpIHtcbiAgICAgICAgdGhpcy50cmlnZ2Vycy5wdXNoKGFyZ3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBydW4oaG9va0lkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgbGFzdFRpbWVzdGFtcCA9IHRoaXMubGFzdFJ1blRpbWVzdGFtcHNbaG9va0lkXTtcblxuICAgICAgICBjb25zdCBwYXlsb2FkOiBUYXNrUGF5bG9hZCA9IHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbm93LFxuICAgICAgICAgICAgbGFzdFRpbWVzdGFtcCxcbiAgICAgICAgICAgIHRpbWV6b25lOiBcIlVUQ1wiLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubGFzdFJ1blRpbWVzdGFtcHNbaG9va0lkXSA9IG5vdztcblxuICAgICAgICBjb25zdCBjb250ZXh0OiBUYXNrQ29udGV4dCA9IHtcbiAgICAgICAgICAgIHJldHJpZXNMZWZ0OiB0aGlzLnRyaWdnZXJzLmZpbmQoaG9vayA9PiBob29rLmlkID09PSBob29rSWQpPy5yZXRyaWVzID8/IDAsXG4gICAgICAgIH07XG5cbiAgICAgICAgYXdhaXQgdGhpcy5ydW5XaXRoUmV0cnkodGhpcy50cmlnZ2Vycy5maW5kKGhvb2sgPT4gaG9vay5pZCA9PT0gaG9va0lkKSEsIHBheWxvYWQsIGNvbnRleHQpO1xuXG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHJ1bldpdGhSZXRyeShcbiAgICAgICAgdHJpZ2dlcjogVHJpZ2dlckFyZ3MsXG4gICAgICAgIHBheWxvYWQ6IFRhc2tQYXlsb2FkLFxuICAgICAgICBjdHg6IFRhc2tDb250ZXh0XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICAgICAgICAgICAgICB0cmlnZ2VyLnJ1bihwYXlsb2FkLCB7IGN0eCB9KSxcbiAgICAgICAgICAgICAgICB0aW1lb3V0KHRyaWdnZXIubWF4RHVyYXRpb24gPz8gNjApLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICBsb2coXCJzdWNjZXNzXCIsIHsgaG9va0lkOiB0cmlnZ2VyLmlkLCB0aW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBsb2coXCJlcnJvclwiLCB7IGhvb2tJZDogdHJpZ2dlci5pZCwgZXJyb3I6IGVyciB9KTtcblxuICAgICAgICAgICAgaWYgKGN0eC5yZXRyaWVzTGVmdCA+IDApIHtcbiAgICAgICAgICAgICAgICBjdHgucmV0cmllc0xlZnQgLT0gMTtcbiAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBsb2coXCJ3YXJuXCIsIHsgaG9va0lkOiB0cmlnZ2VyLmlkLCBtc2c6IFwiUmV0cnlpbmcuLi5cIiB9KTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnJ1bldpdGhSZXRyeSh0cmlnZ2VyLCBwYXlsb2FkLCBjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gc3RhcnQ7XG4gICAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICAgIGxvZyhcImluZm9cIiwgeyBob29rSWQ6IHRyaWdnZXIuaWQsIGR1cmF0aW9uTXM6IGR1cmF0aW9uIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRvSlNPTigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlcnMubWFwKHRyaWdnZXIgPT4gKHtcbiAgICAgICAgICAgIGlkOiB0cmlnZ2VyLmlkLFxuICAgICAgICAgICAgZXZlbnRzOiB0cmlnZ2VyLmV2ZW50cyxcbiAgICAgICAgICAgIG1heER1cmF0aW9uOiB0cmlnZ2VyLm1heER1cmF0aW9uLFxuICAgICAgICAgICAgcmV0cmllczogdHJpZ2dlci5yZXRyaWVzLFxuICAgICAgICB9KSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBsb2coYXJnMDogc3RyaW5nLCBhcmcxOiB7IGhvb2tJZDogc3RyaW5nOyB0aW1lOiBzdHJpbmc7IH0pIHtcbiAgICAvLyBjb25zb2xlLmxvZyhhcmcwLCBhcmcxKTtcbn1cblxuZnVuY3Rpb24gdGltZW91dChzZWNvbmRzOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QobmV3IEVycm9yKFwiVGltZW91dCByZWFjaGVkXCIpKSwgc2Vjb25kcyAqIDEwMDApXG4gICAgKTtcbn1cblxuXG5leHBvcnQgY29uc3QgaG9va3MgPSBuZXcgSG9va3MoKTsiXX0=
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
2
|
+
import './jobs';
|
3
|
+
export declare function hookHandler(request: NextRequest, res: NextResponse): Promise<NextResponse<{
|
4
|
+
message: string;
|
5
|
+
}> | NextResponse<{
|
6
|
+
hooks: {
|
7
|
+
id: string;
|
8
|
+
events: string[];
|
9
|
+
maxDuration: number | undefined;
|
10
|
+
retries: number | undefined;
|
11
|
+
}[];
|
12
|
+
}>>;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { NextResponse } from 'next/server';
|
2
|
+
import './jobs';
|
3
|
+
import { hooks } from './Hooks';
|
4
|
+
/* export async function GET() {
|
5
|
+
return NextResponse.json({ schedules: schedules.toJSON() },
|
6
|
+
{ status: 200 });
|
7
|
+
}
|
8
|
+
|
9
|
+
export async function POST(request: Request) {
|
10
|
+
|
11
|
+
} */
|
12
|
+
export async function hookHandler(request, res) {
|
13
|
+
if (request.method === 'POST') {
|
14
|
+
const body = await request.json();
|
15
|
+
const hookId = body.hookId;
|
16
|
+
hooks.run(hookId);
|
17
|
+
return NextResponse.json({ message: 'Callback triggered' }, { status: 200 });
|
18
|
+
}
|
19
|
+
else {
|
20
|
+
return NextResponse.json({ hooks: hooks.toJSON() }, { status: 200 });
|
21
|
+
}
|
22
|
+
}
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2hvb2tzL2xpYi9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEQsT0FBTyxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQzs7Ozs7OztJQU9JO0FBRUosTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsT0FBb0IsRUFBRSxHQUFpQjtJQUN2RSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxFQUN4RCxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUNoRCxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV4dFJlcXVlc3QsIE5leHRSZXNwb25zZSB9IGZyb20gJ25leHQvc2VydmVyJztcblxuaW1wb3J0ICcuL2pvYnMnO1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICcuL0hvb2tzJztcblxuLyogZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIEdFVCgpIHtcbiAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKHsgc2NoZWR1bGVzOiBzY2hlZHVsZXMudG9KU09OKCkgfSxcbiAgICB7IHN0YXR1czogMjAwIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gUE9TVChyZXF1ZXN0OiBSZXF1ZXN0KSB7XG5cbn0gKi9cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhvb2tIYW5kbGVyKHJlcXVlc3Q6IE5leHRSZXF1ZXN0LCByZXM6IE5leHRSZXNwb25zZSkge1xuICBpZiAocmVxdWVzdC5tZXRob2QgPT09ICdQT1NUJykge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCByZXF1ZXN0Lmpzb24oKTtcbiAgICBjb25zdCBob29rSWQgPSBib2R5Lmhvb2tJZDtcbiAgICBob29rcy5ydW4oaG9va0lkKTtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBtZXNzYWdlOiAnQ2FsbGJhY2sgdHJpZ2dlcmVkJyB9LFxuICAgICAgeyBzdGF0dXM6IDIwMCB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBob29rczogaG9va3MudG9KU09OKCkgfSxcbiAgICAgIHsgc3RhdHVzOiAyMDAgfSk7XG4gIH1cbn0gXG5cbiJdfQ==
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import './log-job';
|
2
|
+
import './job1';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9ob29rcy9saWIvam9icy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsQ0FBQztBQUNuQixPQUFPLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9sb2ctam9iJztcbmltcG9ydCAnLi9qb2IxJzsiXX0=
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { hooks } from "../Hooks";
|
2
|
+
hooks.trigger({
|
3
|
+
id: "job1",
|
4
|
+
events: ["event1"],
|
5
|
+
run: async () => {
|
6
|
+
console.log("hello from job 1");
|
7
|
+
},
|
8
|
+
});
|
9
|
+
hooks.trigger({
|
10
|
+
id: "job2",
|
11
|
+
events: ["event2"],
|
12
|
+
run: async () => {
|
13
|
+
console.log("hello from job 2");
|
14
|
+
},
|
15
|
+
});
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iMS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2hvb2tzL2xpYi9qb2JzL2pvYjEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ1YsRUFBRSxFQUFFLE1BQU07SUFDVixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDbEIsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDSixDQUFDLENBQUM7QUFHSCxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ1YsRUFBRSxFQUFFLE1BQU07SUFDVixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDbEIsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IGhvb2tzIH0gZnJvbSBcIi4uL0hvb2tzXCI7XG5cbmhvb2tzLnRyaWdnZXIoe1xuICAgIGlkOiBcImpvYjFcIixcbiAgICBldmVudHM6IFtcImV2ZW50MVwiXSxcbiAgICBydW46IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJoZWxsbyBmcm9tIGpvYiAxXCIpO1xuICAgIH0sXG59KTtcblxuXG5ob29rcy50cmlnZ2VyKHtcbiAgICBpZDogXCJqb2IyXCIsXG4gICAgZXZlbnRzOiBbXCJldmVudDJcIl0sXG4gICAgcnVuOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaGVsbG8gZnJvbSBqb2IgMlwiKTtcbiAgICB9LFxufSk7XG5cbiJdfQ==
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { hooks } from "../Hooks";
|
2
|
+
hooks.trigger({
|
3
|
+
id: "test",
|
4
|
+
events: ["event1"],
|
5
|
+
run: async () => {
|
6
|
+
console.log("test");
|
7
|
+
},
|
8
|
+
});
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2hvb2tzL2xpYi9qb2JzL2xvZy1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdqQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ1YsRUFBRSxFQUFFLE1BQU07SUFDVixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDbEIsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tIFwiLi4vSG9va3NcIjtcblxuXG5ob29rcy50cmlnZ2VyKHtcbiAgICBpZDogXCJ0ZXN0XCIsXG4gICAgZXZlbnRzOiBbXCJldmVudDFcIl0sXG4gICAgcnVuOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwidGVzdFwiKTtcbiAgICB9LFxufSk7Il19
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export const wait = {
|
2
|
+
for: ({ seconds }) => new Promise((resolve) => setTimeout(resolve, seconds * 1000)),
|
3
|
+
until: ({ date }) => {
|
4
|
+
const now = new Date();
|
5
|
+
const diff = date.getTime() - now.getTime();
|
6
|
+
if (diff <= 0) {
|
7
|
+
// Hedef tarih zaten geçmişse hiç bekleme
|
8
|
+
return Promise.resolve();
|
9
|
+
}
|
10
|
+
return new Promise((resolve) => setTimeout(resolve, diff));
|
11
|
+
},
|
12
|
+
};
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2hvb2tzL2xpYi93YWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRztJQUNoQixHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBdUIsRUFBRSxFQUFFLENBQ3hDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztJQUUvRCxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBa0IsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU1QyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNkLHlDQUF5QztZQUN6QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHdhaXQgPSB7XG4gICAgZm9yOiAoeyBzZWNvbmRzIH06IHsgc2Vjb25kczogbnVtYmVyIH0pID0+XG4gICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBzZWNvbmRzICogMTAwMCkpLFxuICBcbiAgICB1bnRpbDogKHsgZGF0ZSB9OiB7IGRhdGU6IERhdGUgfSkgPT4ge1xuICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICAgIGNvbnN0IGRpZmYgPSBkYXRlLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCk7XG4gIFxuICAgICAgaWYgKGRpZmYgPD0gMCkge1xuICAgICAgICAvLyBIZWRlZiB0YXJpaCB6YXRlbiBnZcOnbWnFn3NlIGhpw6cgYmVrbGVtZVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICB9XG4gIFxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGRpZmYpKTtcbiAgICB9LFxuICB9O1xuICAiXX0=
|
package/dist/modules/index.d.ts
CHANGED
package/dist/modules/index.js
CHANGED
@@ -5,4 +5,5 @@ export * from './agent';
|
|
5
5
|
export * from './tenant';
|
6
6
|
export * from './task';
|
7
7
|
export * from './scheduled-job';
|
8
|
-
|
8
|
+
export * from './hooks';
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kdWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YWl0bGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2FjY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi9haSc7XG5leHBvcnQgKiBmcm9tICcuL2FnZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFzayc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZC1qb2InO1xuZXhwb3J0ICogZnJvbSAnLi9ob29rcyc7Il19
|
@@ -1,10 +1,12 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
import { z } from 'zod';
|
2
|
+
import { UpdateJobSchema } from './schema';
|
3
|
+
import { AvgExecution, Execution, ExecutionTrend, FailedJob, JobStats, ScheduledJob } from './types';
|
4
|
+
export declare const CreateScheduledJob: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
|
5
|
+
id: z.ZodOptional<z.ZodString>;
|
6
|
+
name: z.ZodString;
|
7
|
+
cron: z.ZodString;
|
8
|
+
enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
8
10
|
name: string;
|
9
11
|
enabled: boolean;
|
10
12
|
cron: string;
|
@@ -29,12 +31,12 @@ export declare const CreateScheduledJob: import("next-safe-action").SafeActionFn
|
|
29
31
|
_errors?: string[];
|
30
32
|
};
|
31
33
|
}, readonly [], ScheduledJob>;
|
32
|
-
export declare const ListScheduledJobs: import("next-safe-action").SafeActionFn<string,
|
34
|
+
export declare const ListScheduledJobs: import("next-safe-action").SafeActionFn<string, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, readonly [], {
|
33
35
|
_errors?: string[];
|
34
36
|
}, readonly [], ScheduledJob[]>;
|
35
|
-
export declare const GetScheduledJob: import("next-safe-action").SafeActionFn<string,
|
36
|
-
id:
|
37
|
-
}, "strip",
|
37
|
+
export declare const GetScheduledJob: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
|
38
|
+
id: z.ZodString;
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
38
40
|
id: string;
|
39
41
|
}, {
|
40
42
|
id: string;
|
@@ -44,24 +46,36 @@ export declare const GetScheduledJob: import("next-safe-action").SafeActionFn<st
|
|
44
46
|
_errors?: string[];
|
45
47
|
};
|
46
48
|
}, readonly [], ScheduledJob>;
|
47
|
-
export declare const ListExecutions: import("next-safe-action").SafeActionFn<string,
|
48
|
-
scheduledJobId:
|
49
|
-
|
49
|
+
export declare const ListExecutions: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
|
50
|
+
scheduledJobId: z.ZodString;
|
51
|
+
status: z.ZodOptional<z.ZodString>;
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
50
53
|
scheduledJobId: string;
|
54
|
+
status?: string | undefined;
|
51
55
|
}, {
|
52
56
|
scheduledJobId: string;
|
57
|
+
status?: string | undefined;
|
53
58
|
}>, readonly [], {
|
54
59
|
_errors?: string[];
|
55
60
|
scheduledJobId?: {
|
56
61
|
_errors?: string[];
|
57
62
|
};
|
63
|
+
status?: {
|
64
|
+
_errors?: string[];
|
65
|
+
};
|
58
66
|
}, readonly [], Execution[]>;
|
59
|
-
export declare const
|
67
|
+
export declare const ListAvgExecutions: import("next-safe-action").SafeActionFn<string, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, readonly [], {
|
68
|
+
_errors?: string[];
|
69
|
+
}, readonly [], AvgExecution[]>;
|
70
|
+
export declare const UpdateJob: (params: z.infer<typeof UpdateJobSchema>) => Promise<ScheduledJob | {
|
71
|
+
serverError: any;
|
72
|
+
}>;
|
73
|
+
export declare const GetDailyExecutionTrend: import("next-safe-action").SafeActionFn<string, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, readonly [], {
|
60
74
|
_errors?: string[];
|
61
75
|
}, readonly [], ExecutionTrend[]>;
|
62
|
-
export declare const GetTopFailedJobs: import("next-safe-action").SafeActionFn<string,
|
76
|
+
export declare const GetTopFailedJobs: import("next-safe-action").SafeActionFn<string, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, readonly [], {
|
63
77
|
_errors?: string[];
|
64
78
|
}, readonly [], FailedJob>;
|
65
|
-
export declare const GetJobStats: import("next-safe-action").SafeActionFn<string,
|
79
|
+
export declare const GetJobStats: import("next-safe-action").SafeActionFn<string, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, readonly [], {
|
66
80
|
_errors?: string[];
|
67
81
|
}, readonly [], JobStats>;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
'use server';
|
2
2
|
import { actionClient } from '../../actions/actionClient';
|
3
3
|
import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
|
4
|
-
import { CreateScheduledJobSchema, GetDailyExecutionTrendSchema, GetJobStatsSchema, GetScheduledJobSchema, GetTopFailedJobsSchema, ListExecutionsSchema, ListScheduledJobsSchema } from './schema';
|
4
|
+
import { CreateScheduledJobSchema, GetDailyExecutionTrendSchema, GetJobStatsSchema, GetScheduledJobSchema, GetTopFailedJobsSchema, ListAvgExecutionsSchema, ListExecutionsSchema, ListScheduledJobsSchema, UpdateJobSchema } from './schema';
|
5
5
|
export const CreateScheduledJob = actionClient
|
6
6
|
.schema(CreateScheduledJobSchema)
|
7
7
|
.action(async ({ parsedInput }) => {
|
@@ -50,6 +50,44 @@ export const ListExecutions = actionClient
|
|
50
50
|
throw new Error('Failed to fetch ListExecutions');
|
51
51
|
}
|
52
52
|
});
|
53
|
+
export const ListAvgExecutions = actionClient
|
54
|
+
.schema(ListAvgExecutionsSchema)
|
55
|
+
.action(async ({ parsedInput }) => {
|
56
|
+
try {
|
57
|
+
const { scheduledJob } = await getSDKForCurrentUser();
|
58
|
+
return await scheduledJob.ListAvgExecutions(parsedInput);
|
59
|
+
}
|
60
|
+
catch (error) {
|
61
|
+
console.error('Error in ListAvgExecutions:', error);
|
62
|
+
throw new Error('Failed to fetch ListAvgExecutions');
|
63
|
+
}
|
64
|
+
});
|
65
|
+
/* export const UpdateJob = actionClient
|
66
|
+
.schema(UpdateJobSchema)
|
67
|
+
.action(async ({ parsedInput }): Promise<ScheduledJob> => {
|
68
|
+
try {
|
69
|
+
|
70
|
+
const { scheduledJob } = await getSDKForCurrentUser();
|
71
|
+
return await scheduledJob.UpdateJob(parsedInput);
|
72
|
+
|
73
|
+
} catch (error) {
|
74
|
+
console.error('Error in UpdateJob:', error);
|
75
|
+
throw new Error('Failed to fetch UpdateJob');
|
76
|
+
}
|
77
|
+
}); */
|
78
|
+
export const UpdateJob = async (params) => {
|
79
|
+
try {
|
80
|
+
const parsedInput = UpdateJobSchema.parse(params);
|
81
|
+
const { scheduledJob } = await getSDKForCurrentUser();
|
82
|
+
return await scheduledJob.UpdateJob(parsedInput);
|
83
|
+
}
|
84
|
+
catch (error) {
|
85
|
+
console.error('Error in UpdateJob:', error);
|
86
|
+
return {
|
87
|
+
serverError: error.toString()
|
88
|
+
};
|
89
|
+
}
|
90
|
+
};
|
53
91
|
export const GetDailyExecutionTrend = actionClient
|
54
92
|
.schema(GetDailyExecutionTrendSchema)
|
55
93
|
.action(async ({ parsedInput }) => {
|
@@ -86,4 +124,4 @@ export const GetJobStats = actionClient
|
|
86
124
|
throw new Error('Failed to fetch GetJobStats');
|
87
125
|
}
|
88
126
|
});
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvc2NoZWR1bGVkLWpvYi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUduTSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZO0tBQ3pDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztLQUNoQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQXlCLEVBQUU7SUFDckQsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sWUFBWSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTlELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsWUFBWTtLQUM1QyxNQUFNLENBQUMsdUJBQXVCLENBQUM7S0FDL0IsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUEyQixFQUFFO0lBQ3ZELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxZQUFZ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QUFDLENBQUM7SUFDeEQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVk7S0FDdEMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0tBQ3pCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBcUIsRUFBRTtJQUNqRCxJQUFJLENBQUM7UUFFRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3RELE9BQU8sTUFBTSxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXZELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzZXJ2ZXInO1xuXG5cbmltcG9ydCB7IGFjdGlvbkNsaWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvYWN0aW9uQ2xpZW50JztcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuaW1wb3J0IHsgQ3JlYXRlU2NoZWR1bGVkSm9iU2NoZW1hLCBHZXREYWlseUV4ZWN1dGlvblRyZW5kU2NoZW1hLCBHZXRKb2JTdGF0c1NjaGVtYSwgR2V0U2NoZWR1bGVkSm9iU2NoZW1hLCBHZXRUb3BGYWlsZWRKb2JzU2NoZW1hLCBMaXN0RXhlY3V0aW9uc1NjaGVtYSwgTGlzdFNjaGVkdWxlZEpvYnNTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQgeyBFeGVjdXRpb24sIEV4ZWN1dGlvblRyZW5kLCBGYWlsZWRKb2IsIEpvYlN0YXRzLCBTY2hlZHVsZWRKb2IgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNjaGVkdWxlZEpvYiA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoQ3JlYXRlU2NoZWR1bGVkSm9iU2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8U2NoZWR1bGVkSm9iPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5DcmVhdGVTY2hlZHVsZWRKb2IocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBDcmVhdGVTY2hlZHVsZWRKb2I6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggQ3JlYXRlU2NoZWR1bGVkSm9iJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGV4cG9ydCBjb25zdCBMaXN0U2NoZWR1bGVkSm9icyA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoTGlzdFNjaGVkdWxlZEpvYnNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTY2hlZHVsZWRKb2JbXT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuTGlzdFNjaGVkdWxlZEpvYnMocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0U2NoZWR1bGVkSm9iczonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0U2NoZWR1bGVkSm9icycpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBvcnQgY29uc3QgR2V0U2NoZWR1bGVkSm9iID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShHZXRTY2hlZHVsZWRKb2JTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTY2hlZHVsZWRKb2I+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkdldFNjaGVkdWxlZEpvYihwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEdldFNjaGVkdWxlZEpvYjonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBHZXRTY2hlZHVsZWRKb2InKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIFxuICAgIGV4cG9ydCBjb25zdCBMaXN0RXhlY3V0aW9ucyA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoTGlzdEV4ZWN1dGlvbnNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxFeGVjdXRpb25bXT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuTGlzdEV4ZWN1dGlvbnMocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0RXhlY3V0aW9uczonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0RXhlY3V0aW9ucycpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBvcnQgY29uc3QgR2V0RGFpbHlFeGVjdXRpb25UcmVuZCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoR2V0RGFpbHlFeGVjdXRpb25UcmVuZFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEV4ZWN1dGlvblRyZW5kW10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkdldERhaWx5RXhlY3V0aW9uVHJlbmQocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXREYWlseUV4ZWN1dGlvblRyZW5kOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldERhaWx5RXhlY3V0aW9uVHJlbmQnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0IGNvbnN0IEdldFRvcEZhaWxlZEpvYnMgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKEdldFRvcEZhaWxlZEpvYnNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxGYWlsZWRKb2I+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkdldFRvcEZhaWxlZEpvYnMocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXRUb3BGYWlsZWRKb2JzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldFRvcEZhaWxlZEpvYnMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0IGNvbnN0IEdldEpvYlN0YXRzID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShHZXRKb2JTdGF0c1NjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEpvYlN0YXRzPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5HZXRKb2JTdGF0cyhwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEdldEpvYlN0YXRzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldEpvYlN0YXRzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICAgICAgICAgIFxuICAgIFxuICAgICAgICBcbiAgICAiXX0=
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvc2NoZWR1bGVkLWpvYi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBSWIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHN08sTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWTtLQUN6QyxNQUFNLENBQUMsd0JBQXdCLENBQUM7S0FDaEMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUF5QixFQUFFO0lBQ3JELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsT0FBTyxNQUFNLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU5RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVk7S0FDNUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0tBQy9CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBMkIsRUFBRTtJQUN2RCxJQUFJLENB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QUFNLFdBQVcsR0FBRyxZQUFZO0tBQ3RDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztLQUN6QixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQXFCLEVBQUU7SUFDakQsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV2RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc2VydmVyJztcblxuXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IGFjdGlvbkNsaWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvYWN0aW9uQ2xpZW50JztcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuaW1wb3J0IHsgQ3JlYXRlU2NoZWR1bGVkSm9iU2NoZW1hLCBHZXREYWlseUV4ZWN1dGlvblRyZW5kU2NoZW1hLCBHZXRKb2JTdGF0c1NjaGVtYSwgR2V0U2NoZWR1bGVkSm9iU2NoZW1hLCBHZXRUb3BGYWlsZWRKb2JzU2NoZW1hLCBMaXN0QXZnRXhlY3V0aW9uc1NjaGVtYSwgTGlzdEV4ZWN1dGlvbnNTY2hlbWEsIExpc3RTY2hlZHVsZWRKb2JzU2NoZW1hLCBVcGRhdGVKb2JTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQgeyBBdmdFeGVjdXRpb24sIEV4ZWN1dGlvbiwgRXhlY3V0aW9uVHJlbmQsIEZhaWxlZEpvYiwgSm9iU3RhdHMsIFNjaGVkdWxlZEpvYiB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2NoZWR1bGVkSm9iID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShDcmVhdGVTY2hlZHVsZWRKb2JTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTY2hlZHVsZWRKb2I+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkNyZWF0ZVNjaGVkdWxlZEpvYihwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIENyZWF0ZVNjaGVkdWxlZEpvYjonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBDcmVhdGVTY2hlZHVsZWRKb2InKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0IGNvbnN0IExpc3RTY2hlZHVsZWRKb2JzID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShMaXN0U2NoZWR1bGVkSm9ic1NjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNjaGVkdWxlZEpvYltdPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5MaXN0U2NoZWR1bGVkSm9icyhwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RTY2hlZHVsZWRKb2JzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RTY2hlZHVsZWRKb2JzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGV4cG9ydCBjb25zdCBHZXRTY2hlZHVsZWRKb2IgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKEdldFNjaGVkdWxlZEpvYlNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNjaGVkdWxlZEpvYj4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuR2V0U2NoZWR1bGVkSm9iKHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gR2V0U2NoZWR1bGVkSm9iOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldFNjaGVkdWxlZEpvYicpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgZXhwb3J0IGNvbnN0IExpc3RFeGVjdXRpb25zID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShMaXN0RXhlY3V0aW9uc1NjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEV4ZWN1dGlvbltdPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5MaXN0RXhlY3V0aW9ucyhwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RFeGVjdXRpb25zOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RFeGVjdXRpb25zJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGV4cG9ydCBjb25zdCBMaXN0QXZnRXhlY3V0aW9ucyA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoTGlzdEF2Z0V4ZWN1dGlvbnNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxBdmdFeGVjdXRpb25bXT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuTGlzdEF2Z0V4ZWN1dGlvbnMocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0QXZnRXhlY3V0aW9uczonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0QXZnRXhlY3V0aW9ucycpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbi8qICAgICBleHBvcnQgY29uc3QgVXBkYXRlSm9iID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShVcGRhdGVKb2JTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTY2hlZHVsZWRKb2I+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLlVwZGF0ZUpvYihwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIFVwZGF0ZUpvYjonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBVcGRhdGVKb2InKTtcbiAgICAgICAgfVxuICAgIH0pOyAgKi8gIFxuXG4gICAgZXhwb3J0IGNvbnN0IFVwZGF0ZUpvYiA9IGFzeW5jIChwYXJhbXM6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUpvYlNjaGVtYT4pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZElucHV0ID0gVXBkYXRlSm9iU2NoZW1hLnBhcnNlKHBhcmFtcyk7XG4gICAgICAgICAgICBjb25zdCB7IHNjaGVkdWxlZEpvYiB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBzY2hlZHVsZWRKb2IuVXBkYXRlSm9iKHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gVXBkYXRlSm9iOicsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY29uc3QgR2V0RGFpbHlFeGVjdXRpb25UcmVuZCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoR2V0RGFpbHlFeGVjdXRpb25UcmVuZFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEV4ZWN1dGlvblRyZW5kW10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkdldERhaWx5RXhlY3V0aW9uVHJlbmQocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXREYWlseUV4ZWN1dGlvblRyZW5kOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldERhaWx5RXhlY3V0aW9uVHJlbmQnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0IGNvbnN0IEdldFRvcEZhaWxlZEpvYnMgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKEdldFRvcEZhaWxlZEpvYnNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxGYWlsZWRKb2I+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBzY2hlZHVsZWRKb2IgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgc2NoZWR1bGVkSm9iLkdldFRvcEZhaWxlZEpvYnMocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXRUb3BGYWlsZWRKb2JzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldFRvcEZhaWxlZEpvYnMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0IGNvbnN0IEdldEpvYlN0YXRzID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShHZXRKb2JTdGF0c1NjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEpvYlN0YXRzPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5HZXRKb2JTdGF0cyhwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEdldEpvYlN0YXRzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldEpvYlN0YXRzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICAgICAgICAgIFxuICAgIFxuICAgICAgICBcbiAgICAiXX0=
|
@@ -2,4 +2,7 @@ export * from './action';
|
|
2
2
|
export * from './schema';
|
3
3
|
export * from './service';
|
4
4
|
export * from './types';
|
5
|
-
|
5
|
+
export * from './lib/Schedules';
|
6
|
+
export * from './lib/handler';
|
7
|
+
import './lib/jobs';
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9zY2hlZHVsZWQtam9iL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFFOUIsT0FBTyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9TY2hlZHVsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcic7XG5cbmltcG9ydCAnLi9saWIvam9icyc7Il19
|
@@ -0,0 +1,32 @@
|
|
1
|
+
type TaskPayload = {
|
2
|
+
timestamp: Date;
|
3
|
+
lastTimestamp?: Date;
|
4
|
+
timezone: string;
|
5
|
+
};
|
6
|
+
type TaskContext = {
|
7
|
+
retriesLeft: number;
|
8
|
+
};
|
9
|
+
type TaskArgs = {
|
10
|
+
id: string;
|
11
|
+
cron: string;
|
12
|
+
maxDuration?: number;
|
13
|
+
retries?: number;
|
14
|
+
run: (payload: TaskPayload, tools: {
|
15
|
+
ctx: TaskContext;
|
16
|
+
}) => Promise<void> | void;
|
17
|
+
};
|
18
|
+
export declare class Schedules {
|
19
|
+
private lastRunTimestamps;
|
20
|
+
private Tasks;
|
21
|
+
task(args: TaskArgs): void;
|
22
|
+
run(taskId: string): Promise<void>;
|
23
|
+
private runWithRetry;
|
24
|
+
toJSON(): {
|
25
|
+
id: string;
|
26
|
+
cron: string;
|
27
|
+
maxDuration: number | undefined;
|
28
|
+
retries: number | undefined;
|
29
|
+
}[];
|
30
|
+
}
|
31
|
+
export declare const schedules: Schedules;
|
32
|
+
export {};
|
@@ -0,0 +1,64 @@
|
|
1
|
+
export class Schedules {
|
2
|
+
constructor() {
|
3
|
+
this.lastRunTimestamps = {};
|
4
|
+
this.Tasks = [];
|
5
|
+
}
|
6
|
+
task(args) {
|
7
|
+
this.Tasks.push(args);
|
8
|
+
}
|
9
|
+
async run(taskId) {
|
10
|
+
const now = new Date();
|
11
|
+
const lastTimestamp = this.lastRunTimestamps[taskId];
|
12
|
+
const payload = {
|
13
|
+
timestamp: now,
|
14
|
+
lastTimestamp,
|
15
|
+
timezone: "UTC",
|
16
|
+
};
|
17
|
+
this.lastRunTimestamps[taskId] = now;
|
18
|
+
const context = {
|
19
|
+
retriesLeft: this.Tasks.find(task => task.id === taskId)?.retries ?? 0,
|
20
|
+
};
|
21
|
+
await this.runWithRetry(this.Tasks.find(task => task.id === taskId), payload, context);
|
22
|
+
}
|
23
|
+
async runWithRetry(task, payload, ctx) {
|
24
|
+
const start = Date.now();
|
25
|
+
try {
|
26
|
+
await Promise.race([
|
27
|
+
task.run(payload, { ctx }),
|
28
|
+
timeout(task.maxDuration ?? 60),
|
29
|
+
]);
|
30
|
+
log("success", { taskId: task.id, time: new Date().toISOString() });
|
31
|
+
}
|
32
|
+
catch (err) {
|
33
|
+
//@ts-ignore
|
34
|
+
log("error", { taskId: task.id, error: err });
|
35
|
+
if (ctx.retriesLeft > 0) {
|
36
|
+
ctx.retriesLeft -= 1;
|
37
|
+
//@ts-ignore
|
38
|
+
log("warn", { taskId: task.id, msg: "Retrying..." });
|
39
|
+
await this.runWithRetry(task, payload, ctx);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
finally {
|
43
|
+
const duration = Date.now() - start;
|
44
|
+
//@ts-ignore
|
45
|
+
log("info", { taskId: task.id, durationMs: duration });
|
46
|
+
}
|
47
|
+
}
|
48
|
+
toJSON() {
|
49
|
+
return this.Tasks.map(task => ({
|
50
|
+
id: task.id,
|
51
|
+
cron: task.cron,
|
52
|
+
maxDuration: task.maxDuration,
|
53
|
+
retries: task.retries,
|
54
|
+
}));
|
55
|
+
}
|
56
|
+
}
|
57
|
+
function log(arg0, arg1) {
|
58
|
+
// console.log(arg0, arg1);
|
59
|
+
}
|
60
|
+
function timeout(seconds) {
|
61
|
+
return new Promise((_, reject) => setTimeout(() => reject(new Error("Timeout reached")), seconds * 1000));
|
62
|
+
}
|
63
|
+
export const schedules = new Schedules();
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc2NoZWR1bGVkLWpvYi9saWIvU2NoZWR1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxNQUFNLE9BQU8sU0FBUztJQUF0QjtRQUNZLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsVUFBSyxHQUFlLEVBQUUsQ0FBQztJQWlFbkMsQ0FBQztJQS9EVSxJQUFJLENBQUMsSUFBYztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFjO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJELE1BQU0sT0FBTyxHQUFnQjtZQUN6QixTQUFTLEVBQUUsR0FBRztZQUNkLGFBQWE7WUFDYixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUVyQyxNQUFNLE9BQU8sR0FBZ0I7WUFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQztTQUN6RSxDQUFDO1FBRUYsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFHNUYsQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZLENBQ3RCLElBQWMsRUFDZCxPQUFvQixFQUNwQixHQUFnQjtRQUVoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQzthQUNsQyxDQUFDLENBQUM7WUFDSCxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsWUFBWTtZQUNaLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUU5QyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO2dCQUNyQixZQUFZO2dCQUNaLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztnQkFDckQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEQsQ0FBQztRQUNMLENBQUM7Z0JBQVMsQ0FBQztZQUNQLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDcEMsWUFBWTtZQUNaLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztDQUNKO0FBRUQsU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQXVDO0lBQzlELDJCQUEyQjtBQUMvQixDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsT0FBZTtJQUM1QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FDekUsQ0FBQztBQUNOLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxudHlwZSBUYXNrUGF5bG9hZCA9IHtcbiAgICB0aW1lc3RhbXA6IERhdGU7XG4gICAgbGFzdFRpbWVzdGFtcD86IERhdGU7XG4gICAgdGltZXpvbmU6IHN0cmluZztcbn07XG5cbnR5cGUgVGFza0NvbnRleHQgPSB7XG4gICAgcmV0cmllc0xlZnQ6IG51bWJlcjtcbn07XG5cbnR5cGUgVGFza0FyZ3MgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjcm9uOiBzdHJpbmc7XG4gICAgbWF4RHVyYXRpb24/OiBudW1iZXI7IC8vIHNhbml5ZVxuICAgIHJldHJpZXM/OiBudW1iZXI7XG4gICAgcnVuOiAoXG4gICAgICAgIHBheWxvYWQ6IFRhc2tQYXlsb2FkLFxuICAgICAgICB0b29sczogeyBjdHg6IFRhc2tDb250ZXh0IH1cbiAgICApID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xufTtcblxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlcyB7XG4gICAgcHJpdmF0ZSBsYXN0UnVuVGltZXN0YW1wczogUmVjb3JkPHN0cmluZywgRGF0ZT4gPSB7fTtcbiAgICBwcml2YXRlIFRhc2tzOiBUYXNrQXJnc1tdID0gW107XG5cbiAgICBwdWJsaWMgdGFzayhhcmdzOiBUYXNrQXJncykge1xuICAgICAgICB0aGlzLlRhc2tzLnB1c2goYXJncyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJ1bih0YXNrSWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBsYXN0VGltZXN0YW1wID0gdGhpcy5sYXN0UnVuVGltZXN0YW1wc1t0YXNrSWRdO1xuXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IFRhc2tQYXlsb2FkID0ge1xuICAgICAgICAgICAgdGltZXN0YW1wOiBub3csXG4gICAgICAgICAgICBsYXN0VGltZXN0YW1wLFxuICAgICAgICAgICAgdGltZXpvbmU6IFwiVVRDXCIsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sYXN0UnVuVGltZXN0YW1wc1t0YXNrSWRdID0gbm93O1xuXG4gICAgICAgIGNvbnN0IGNvbnRleHQ6IFRhc2tDb250ZXh0ID0ge1xuICAgICAgICAgICAgcmV0cmllc0xlZnQ6IHRoaXMuVGFza3MuZmluZCh0YXNrID0+IHRhc2suaWQgPT09IHRhc2tJZCk/LnJldHJpZXMgPz8gMCxcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCB0aGlzLnJ1bldpdGhSZXRyeSh0aGlzLlRhc2tzLmZpbmQodGFzayA9PiB0YXNrLmlkID09PSB0YXNrSWQpISwgcGF5bG9hZCwgY29udGV4dCk7XG5cblxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgcnVuV2l0aFJldHJ5KFxuICAgICAgICB0YXNrOiBUYXNrQXJncyxcbiAgICAgICAgcGF5bG9hZDogVGFza1BheWxvYWQsXG4gICAgICAgIGN0eDogVGFza0NvbnRleHRcbiAgICApIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgICAgICAgICAgICAgIHRhc2sucnVuKHBheWxvYWQsIHsgY3R4IH0pLFxuICAgICAgICAgICAgICAgIHRpbWVvdXQodGFzay5tYXhEdXJhdGlvbiA/PyA2MCksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICAgIGxvZyhcInN1Y2Nlc3NcIiwgeyB0YXNrSWQ6IHRhc2suaWQsIHRpbWU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgICAgIGxvZyhcImVycm9yXCIsIHsgdGFza0lkOiB0YXNrLmlkLCBlcnJvcjogZXJyIH0pO1xuXG4gICAgICAgICAgICBpZiAoY3R4LnJldHJpZXNMZWZ0ID4gMCkge1xuICAgICAgICAgICAgICAgIGN0eC5yZXRyaWVzTGVmdCAtPSAxO1xuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGxvZyhcIndhcm5cIiwgeyB0YXNrSWQ6IHRhc2suaWQsIG1zZzogXCJSZXRyeWluZy4uLlwiIH0pO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucnVuV2l0aFJldHJ5KHRhc2ssIHBheWxvYWQsIGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IERhdGUubm93KCkgLSBzdGFydDtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgbG9nKFwiaW5mb1wiLCB7IHRhc2tJZDogdGFzay5pZCwgZHVyYXRpb25NczogZHVyYXRpb24gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9KU09OKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5UYXNrcy5tYXAodGFzayA9PiAoe1xuICAgICAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgICAgICBjcm9uOiB0YXNrLmNyb24sXG4gICAgICAgICAgICBtYXhEdXJhdGlvbjogdGFzay5tYXhEdXJhdGlvbixcbiAgICAgICAgICAgIHJldHJpZXM6IHRhc2sucmV0cmllcyxcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbG9nKGFyZzA6IHN0cmluZywgYXJnMTogeyB0YXNrSWQ6IHN0cmluZzsgdGltZTogc3RyaW5nOyB9KSB7XG4gICAgLy8gY29uc29sZS5sb2coYXJnMCwgYXJnMSk7XG59XG5cbmZ1bmN0aW9uIHRpbWVvdXQoc2Vjb25kczogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihcIlRpbWVvdXQgcmVhY2hlZFwiKSksIHNlY29uZHMgKiAxMDAwKVxuICAgICk7XG59XG5cblxuZXhwb3J0IGNvbnN0IHNjaGVkdWxlcyA9IG5ldyBTY2hlZHVsZXMoKTsiXX0=
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
2
|
+
import './jobs';
|
3
|
+
export declare function scheduledJobHandler(request: NextRequest, res: NextResponse): Promise<NextResponse<{
|
4
|
+
message: string;
|
5
|
+
}> | NextResponse<{
|
6
|
+
schedules: {
|
7
|
+
id: string;
|
8
|
+
cron: string;
|
9
|
+
maxDuration: number | undefined;
|
10
|
+
retries: number | undefined;
|
11
|
+
}[];
|
12
|
+
}>>;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { NextResponse } from 'next/server';
|
2
|
+
import './jobs';
|
3
|
+
import { schedules } from './Schedules';
|
4
|
+
/* export async function GET() {
|
5
|
+
return NextResponse.json({ schedules: schedules.toJSON() },
|
6
|
+
{ status: 200 });
|
7
|
+
}
|
8
|
+
|
9
|
+
export async function POST(request: Request) {
|
10
|
+
|
11
|
+
} */
|
12
|
+
export async function scheduledJobHandler(request, res) {
|
13
|
+
if (request.method === 'POST') {
|
14
|
+
const body = await request.json();
|
15
|
+
const taskId = body.taskId;
|
16
|
+
schedules.run(taskId);
|
17
|
+
return NextResponse.json({ message: 'Callback triggered' }, { status: 200 });
|
18
|
+
}
|
19
|
+
else {
|
20
|
+
return NextResponse.json({ schedules: schedules.toJSON() }, { status: 200 });
|
21
|
+
}
|
22
|
+
}
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2IvbGliL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxPQUFPLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDOzs7Ozs7O0lBT0k7QUFFSixNQUFNLENBQUMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQW9CLEVBQUUsR0FBaUI7SUFDL0UsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsRUFDeEQsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFDeEQsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5leHRSZXF1ZXN0LCBOZXh0UmVzcG9uc2UgfSBmcm9tICduZXh0L3NlcnZlcic7XG5cbmltcG9ydCAnLi9qb2JzJztcbmltcG9ydCB7IHNjaGVkdWxlcyB9IGZyb20gJy4vU2NoZWR1bGVzJztcblxuLyogZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIEdFVCgpIHtcbiAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKHsgc2NoZWR1bGVzOiBzY2hlZHVsZXMudG9KU09OKCkgfSxcbiAgICB7IHN0YXR1czogMjAwIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gUE9TVChyZXF1ZXN0OiBSZXF1ZXN0KSB7XG5cbn0gKi9cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNjaGVkdWxlZEpvYkhhbmRsZXIocmVxdWVzdDogTmV4dFJlcXVlc3QsIHJlczogTmV4dFJlc3BvbnNlKSB7XG4gIGlmIChyZXF1ZXN0Lm1ldGhvZCA9PT0gJ1BPU1QnKSB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHJlcXVlc3QuanNvbigpO1xuICAgIGNvbnN0IHRhc2tJZCA9IGJvZHkudGFza0lkO1xuICAgIHNjaGVkdWxlcy5ydW4odGFza0lkKTtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBtZXNzYWdlOiAnQ2FsbGJhY2sgdHJpZ2dlcmVkJyB9LFxuICAgICAgeyBzdGF0dXM6IDIwMCB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBzY2hlZHVsZXM6IHNjaGVkdWxlcy50b0pTT04oKSB9LFxuICAgICAgeyBzdGF0dXM6IDIwMCB9KTtcbiAgfVxufSBcblxuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import './log-job';
|
2
|
+
import './job1';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9zY2hlZHVsZWQtam9iL2xpYi9qb2JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxDQUFDO0FBQ25CLE9BQU8sUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICcuL2xvZy1qb2InO1xuaW1wb3J0ICcuL2pvYjEnOyJdfQ==
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|