@n8n/scheduler 0.1.0 → 0.2.1

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.
Files changed (100) hide show
  1. package/LICENSE_EE.md +27 -0
  2. package/README.md +2 -2
  3. package/dist/build.tsbuildinfo +1 -1
  4. package/dist/core/enums.d.ts +1 -0
  5. package/dist/core/enums.js +10 -0
  6. package/dist/core/enums.js.map +1 -0
  7. package/dist/core/errors.d.ts +9 -0
  8. package/dist/core/errors.js +25 -0
  9. package/dist/core/errors.js.map +1 -0
  10. package/dist/core/index.d.ts +10 -0
  11. package/dist/core/index.js +24 -0
  12. package/dist/core/index.js.map +1 -0
  13. package/dist/core/materializer/index.d.ts +4 -0
  14. package/dist/core/materializer/index.js +10 -0
  15. package/dist/core/materializer/index.js.map +1 -0
  16. package/dist/core/materializer/materialize.d.ts +11 -0
  17. package/dist/core/materializer/materialize.js +49 -0
  18. package/dist/core/materializer/materialize.js.map +1 -0
  19. package/dist/core/materializer/options.d.ts +7 -0
  20. package/dist/core/materializer/options.js +11 -0
  21. package/dist/core/materializer/options.js.map +1 -0
  22. package/dist/core/materializer/plan.d.ts +10 -0
  23. package/dist/core/materializer/plan.js +22 -0
  24. package/dist/core/materializer/plan.js.map +1 -0
  25. package/dist/core/materializer/transaction.d.ts +16 -0
  26. package/dist/core/materializer/transaction.js +3 -0
  27. package/dist/core/materializer/transaction.js.map +1 -0
  28. package/dist/core/recurrence/next-run.js.map +1 -0
  29. package/dist/core/recurrence/validate.js.map +1 -0
  30. package/dist/core/retention/index.d.ts +3 -0
  31. package/dist/core/retention/index.js +8 -0
  32. package/dist/core/retention/index.js.map +1 -0
  33. package/dist/core/retention/options.d.ts +7 -0
  34. package/dist/core/retention/options.js +11 -0
  35. package/dist/core/retention/options.js.map +1 -0
  36. package/dist/core/retention/prune.d.ts +7 -0
  37. package/dist/core/retention/prune.js +61 -0
  38. package/dist/core/retention/prune.js.map +1 -0
  39. package/dist/core/retention/store.d.ts +9 -0
  40. package/dist/{storage/storage.js → core/retention/store.js} +1 -1
  41. package/dist/core/retention/store.js.map +1 -0
  42. package/dist/core/types/index.d.ts +2 -0
  43. package/dist/core/types/index.js +3 -0
  44. package/dist/core/types/index.js.map +1 -0
  45. package/dist/{types → core/types}/schedule.d.ts +3 -2
  46. package/dist/core/types/schedule.js +3 -0
  47. package/dist/core/types/schedule.js.map +1 -0
  48. package/dist/core/types/task.d.ts +18 -0
  49. package/dist/core/types/task.js +3 -0
  50. package/dist/core/types/task.js.map +1 -0
  51. package/dist/executor/backoff.d.ts +6 -0
  52. package/dist/executor/backoff.js +15 -0
  53. package/dist/executor/backoff.js.map +1 -0
  54. package/dist/executor/executor.d.ts +23 -0
  55. package/dist/executor/executor.js +133 -0
  56. package/dist/executor/executor.js.map +1 -0
  57. package/dist/executor/precision-timer.d.ts +13 -0
  58. package/dist/executor/precision-timer.js +35 -0
  59. package/dist/executor/precision-timer.js.map +1 -0
  60. package/dist/executor/task-handler.d.ts +10 -0
  61. package/dist/executor/task-handler.js +23 -0
  62. package/dist/executor/task-handler.js.map +1 -0
  63. package/dist/index.d.ts +1 -6
  64. package/dist/index.js +15 -10
  65. package/dist/index.js.map +1 -1
  66. package/dist/reaper/reaper.d.ts +27 -0
  67. package/dist/reaper/reaper.js +37 -0
  68. package/dist/reaper/reaper.js.map +1 -0
  69. package/dist/storage/index.d.ts +3 -0
  70. package/dist/storage/index.js +12 -0
  71. package/dist/storage/index.js.map +1 -0
  72. package/dist/storage/mappers.d.ts +6 -0
  73. package/dist/storage/mappers.js +72 -0
  74. package/dist/storage/mappers.js.map +1 -0
  75. package/dist/storage/materializer-store.d.ts +14 -0
  76. package/dist/storage/materializer-store.js +83 -0
  77. package/dist/storage/materializer-store.js.map +1 -0
  78. package/dist/storage/scheduler.service.d.ts +16 -0
  79. package/dist/storage/scheduler.service.js +70 -0
  80. package/dist/storage/scheduler.service.js.map +1 -0
  81. package/package.json +41 -6
  82. package/dist/errors.d.ts +0 -3
  83. package/dist/errors.js +0 -11
  84. package/dist/errors.js.map +0 -1
  85. package/dist/recurrence/next-run.js.map +0 -1
  86. package/dist/recurrence/validate.js.map +0 -1
  87. package/dist/storage/storage.d.ts +0 -6
  88. package/dist/storage/storage.js.map +0 -1
  89. package/dist/types/index.d.ts +0 -2
  90. package/dist/types/index.js +0 -19
  91. package/dist/types/index.js.map +0 -1
  92. package/dist/types/schedule.js +0 -5
  93. package/dist/types/schedule.js.map +0 -1
  94. package/dist/types/task.d.ts +0 -13
  95. package/dist/types/task.js +0 -12
  96. package/dist/types/task.js.map +0 -1
  97. /package/dist/{recurrence → core/recurrence}/next-run.d.ts +0 -0
  98. /package/dist/{recurrence → core/recurrence}/next-run.js +0 -0
  99. /package/dist/{recurrence → core/recurrence}/validate.d.ts +0 -0
  100. /package/dist/{recurrence → core/recurrence}/validate.js +0 -0
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SchedulerService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const config_1 = require("@n8n/config");
15
+ const db_1 = require("@n8n/db");
16
+ const di_1 = require("@n8n/di");
17
+ const materializer_store_1 = require("./materializer-store");
18
+ const materializer_1 = require("../core/materializer");
19
+ const retention_1 = require("../core/retention");
20
+ let SchedulerService = class SchedulerService {
21
+ constructor(store, tasks, logger, config) {
22
+ this.store = store;
23
+ this.tasks = tasks;
24
+ this.logger = logger;
25
+ this.materializerOptions = {
26
+ ...materializer_1.DEFAULT_MATERIALIZER_OPTIONS,
27
+ windowSeconds: config.materializationWindowSeconds,
28
+ };
29
+ this.retentionOptions = {
30
+ ...retention_1.DEFAULT_RETENTION_OPTIONS,
31
+ retentionSeconds: config.retentionSeconds,
32
+ failedRetentionSeconds: config.failedRetentionSeconds,
33
+ };
34
+ if (config.failedRetentionSeconds < config.retentionSeconds) {
35
+ this.logger.warn('Scheduler retention keeps failed runs shorter than succeeded ones; failure evidence will be deleted first', {
36
+ retentionSeconds: config.retentionSeconds,
37
+ failedRetentionSeconds: config.failedRetentionSeconds,
38
+ });
39
+ }
40
+ }
41
+ async materialize() {
42
+ return await (0, materializer_1.materialize)(this.store.runInTransaction, this.materializerOptions, (job, error) => {
43
+ this.logger.error('Scheduler could not plan a job schedule; deferred for retry', {
44
+ jobId: job.id,
45
+ error: error instanceof Error ? error.message : String(error),
46
+ });
47
+ });
48
+ }
49
+ async prune() {
50
+ const summary = await (0, retention_1.prune)(this.tasks, this.retentionOptions);
51
+ if (!summary.drained) {
52
+ this.logger.warn('Scheduler retention pass hit its batch budget; backlog remains', {
53
+ ...summary,
54
+ });
55
+ }
56
+ else if (summary.deleted > 0) {
57
+ this.logger.debug('Scheduler retention deleted finished tasks', { ...summary });
58
+ }
59
+ return summary;
60
+ }
61
+ };
62
+ exports.SchedulerService = SchedulerService;
63
+ exports.SchedulerService = SchedulerService = __decorate([
64
+ (0, di_1.Service)(),
65
+ __metadata("design:paramtypes", [materializer_store_1.MaterializerStore,
66
+ db_1.ScheduledTaskRepository,
67
+ backend_common_1.Logger,
68
+ config_1.SchedulerConfig])
69
+ ], SchedulerService);
70
+ //# sourceMappingURL=scheduler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.service.js","sourceRoot":"","sources":["../../src/storage/scheduler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,wCAA8C;AAC9C,gCAAkD;AAClD,gCAAkC;AAElC,6DAAyD;AACzD,uDAAiF;AAEjF,iDAAqE;AAQ9D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAK5B,YACkB,KAAwB,EACxB,KAA8B,EAC9B,MAAc,EAC/B,MAAuB;QAHN,UAAK,GAAL,KAAK,CAAmB;QACxB,UAAK,GAAL,KAAK,CAAyB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QAG/B,IAAI,CAAC,mBAAmB,GAAG;YAC1B,GAAG,2CAA4B;YAC/B,aAAa,EAAE,MAAM,CAAC,4BAA4B;SAClD,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG;YACvB,GAAG,qCAAyB;YAC5B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;SACrD,CAAC;QACF,IAAI,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,2GAA2G,EAC3G;gBACC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;aACrD,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,OAAO,MAAM,IAAA,0BAAW,EACvB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC3B,IAAI,CAAC,mBAAmB,EACxB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE;gBAChF,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC,CAAC;QACJ,CAAC,CACD,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,KAAK;QACV,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAK,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,EAAE;gBAClF,GAAG,OAAO;aACV,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAA;AA1DY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,YAAO,GAAE;qCAOgB,sCAAiB;QACjB,4BAAuB;QACtB,uBAAM;QACvB,wBAAe;GATZ,gBAAgB,CA0D5B"}
package/package.json CHANGED
@@ -1,26 +1,61 @@
1
1
  {
2
2
  "name": "@n8n/scheduler",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
- "dist/**/*"
8
+ "dist/**/*",
9
+ "LICENSE.md",
10
+ "LICENSE_EE.md"
9
11
  ],
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
16
+ },
17
+ "./storage": {
18
+ "types": "./dist/storage/index.d.ts",
19
+ "default": "./dist/storage/index.js"
20
+ }
21
+ },
22
+ "typesVersions": {
23
+ "*": {
24
+ "storage": [
25
+ "dist/storage/index.d.ts"
26
+ ]
27
+ }
28
+ },
10
29
  "dependencies": {
11
30
  "cron-parser": "5.6.1",
12
31
  "luxon": "3.7.2",
13
- "n8n-workflow": "2.29.0"
32
+ "@n8n/backend-common": "1.30.1",
33
+ "@n8n/constants": "0.30.0",
34
+ "@n8n/config": "2.28.0",
35
+ "@n8n/db": "1.30.1",
36
+ "@n8n/typeorm": "0.4.0",
37
+ "@n8n/utils": "1.38.1",
38
+ "n8n-workflow": "2.30.1",
39
+ "@n8n/di": "0.14.0"
14
40
  },
15
41
  "devDependencies": {
16
42
  "@types/luxon": "3.2.0",
17
43
  "@vitest/coverage-v8": "4.1.9",
18
44
  "vitest": "^4.1.9",
19
45
  "vitest-mock-extended": "^3.1.0",
20
- "@n8n/typescript-config": "1.7.0",
21
- "@n8n/vitest-config": "1.16.0"
46
+ "@n8n/vitest-config": "1.17.0",
47
+ "@n8n/typescript-config": "1.8.0"
48
+ },
49
+ "license": "SEE LICENSE IN LICENSE.md",
50
+ "homepage": "https://n8n.io",
51
+ "author": {
52
+ "name": "Jan Oberhauser",
53
+ "email": "jan@n8n.io"
54
+ },
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "git+https://github.com/n8n-io/n8n.git"
22
58
  },
23
- "license": "LicenseRef-n8n-sustainable-use",
24
59
  "scripts": {
25
60
  "clean": "rimraf dist .turbo",
26
61
  "dev": "pnpm watch",
package/dist/errors.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export declare class InvalidScheduleError extends Error {
2
- constructor(message: string);
3
- }
package/dist/errors.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidScheduleError = void 0;
4
- class InvalidScheduleError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.name = 'InvalidScheduleError';
8
- }
9
- }
10
- exports.InvalidScheduleError = InvalidScheduleError;
11
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAQA,MAAa,oBAAqB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AALD,oDAKC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-run.js","sourceRoot":"","sources":["../../src/recurrence/next-run.ts"],"names":[],"mappings":";;AAwDA,4CAsBC;AA9ED,6CAAmD;AAEnD,sCAAiD;AAEjD,yCAA8C;AAE9C,MAAM,aAAa,GAAG,IAAI,CAAC;AAU3B,SAAS,WAAW,CAAC,QAAsB,EAAE,KAAW,EAAE,QAAgB;IACzE,IAAI,CAAC;QACJ,MAAM,EAAE,GAAG,kCAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC9D,WAAW,EAAE,KAAK;YAClB,EAAE,EAAE,QAAQ;SACZ,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,6BAAoB,CAC7B,sCAAsC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAM,KAAe,CAAC,OAAO,EAAE,CACpJ,CAAC;IACH,CAAC;AACF,CAAC;AAOD,SAAS,eAAe,CAAC,QAA0B,EAAE,KAAW;IAC/D,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC;AAC7E,CAAC;AAGD,SAAS,aAAa,CAAC,QAAwB,EAAE,KAAW;IAC3D,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAcD,SAAgB,gBAAgB,CAAC,QAAkB,EAAE,KAAW;IAC/D,IAAA,2BAAgB,EAAC,QAAQ,CAAC,CAAC;IAE3B,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM;YACV,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,IAAI,6BAAoB,CAC7B,2FAA2F,CAC3F,CAAC;YACH,CAAC;YACD,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,KAAK,UAAU;YACd,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,KAAK,SAAS;YACb,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,UAAU,GAAU,QAAQ,CAAC;YACnC,MAAM,IAAI,6BAAoB,CAC7B,0BAA0B,IAAI,CAAC,SAAS,CAAE,UAAuB,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/recurrence/validate.ts"],"names":[],"mappings":";;AA8DA,4CAeC;AA7ED,6CAAmD;AACnD,iCAAiC;AAEjC,sCAAiD;AAIjD,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,SAAS,YAAY,CAAC,QAAsB;IAG3C,MAAM,UAAU,GAAY,QAAQ,CAAC,cAAc,CAAC;IACpD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,6BAAoB,CAC7B,6CAA6C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CACzE,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACzD,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,IAAI,6BAAoB,CAC7B,6BAA6B,gBAAgB,mCAAmC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAC3H,CAAC;IACH,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,gBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,6BAAoB,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC;QACJ,kCAAoB,CAAC,KAAK,CAAC,UAAU,EAAE;YACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;SAC9B,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,6BAAoB,CAC7B,2BAA2B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAM,KAAe,CAAC,OAAO,EAAE,CACpF,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA0B;IACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,6BAAoB,CAC7B,4DAA4D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CACtG,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,QAAwB;IAC/C,MAAM,MAAM,GAAY,QAAQ,CAAC,MAAM,CAAC;IACxC,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,6BAAoB,CAAC,qCAAqC,CAAC,CAAC;IACvE,CAAC;AACF,CAAC;AAOD,SAAgB,gBAAgB,CAAC,QAAkB;IAClD,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM;YACV,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/B,KAAK,UAAU;YACd,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,SAAS;YACb,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,UAAU,GAAU,QAAQ,CAAC;YACnC,MAAM,IAAI,6BAAoB,CAC7B,0BAA0B,IAAI,CAAC,SAAS,CAAE,UAAuB,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { ScheduledJob, ScheduledTask } from '../types';
2
- export interface SchedulerStore {
3
- getDueJobs(now: Date, limit: number): Promise<ScheduledJob[]>;
4
- saveJob(job: ScheduledJob): Promise<void>;
5
- createTask(task: ScheduledTask): Promise<void>;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage/storage.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './schedule';
2
- export * from './task';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./schedule"), exports);
18
- __exportStar(require("./task"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScheduleKindList = void 0;
4
- exports.ScheduleKindList = ['cron', 'interval', 'one_off'];
5
- //# sourceMappingURL=schedule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/types/schedule.ts"],"names":[],"mappings":";;;AAiBa,QAAA,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC"}
@@ -1,13 +0,0 @@
1
- export declare const TaskStatusList: readonly ["pending", "running", "succeeded", "failed", "missed", "cancelled"];
2
- export type TaskStatus = (typeof TaskStatusList)[number];
3
- export interface ScheduledTask {
4
- id: string;
5
- jobId: string;
6
- taskType: string;
7
- payload: unknown;
8
- scheduledFor: Date;
9
- runAt: Date;
10
- status: TaskStatus;
11
- attempts: number;
12
- maxAttempts: number;
13
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskStatusList = void 0;
4
- exports.TaskStatusList = [
5
- 'pending',
6
- 'running',
7
- 'succeeded',
8
- 'failed',
9
- 'missed',
10
- 'cancelled',
11
- ];
12
- //# sourceMappingURL=task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":";;;AAaa,QAAA,cAAc,GAAG;IAC7B,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,WAAW;CACF,CAAC"}