@balena/pinejs 17.1.0-build-model-based-typings-437bb06f44567532aec78e550f3d545732466411-1 → 17.1.0-build-joshbwlng-tasks-61ce10e444abec6afea3fec43e9a5c37c7cedea6-1
Sign up to get free protection for your applications and to get access to all the features.
- package/.pinejs-cache.json +1 -1
- package/.versionbot/CHANGELOG.yml +13 -239
- package/CHANGELOG.md +5 -69
- package/out/config-loader/env.d.ts +4 -0
- package/out/config-loader/env.js +5 -1
- package/out/config-loader/env.js.map +1 -1
- package/out/data-server/sbvr-server.js +2 -3
- package/out/data-server/sbvr-server.js.map +1 -1
- package/out/database-layer/db.d.ts +3 -0
- package/out/database-layer/db.js +17 -0
- package/out/database-layer/db.js.map +1 -1
- package/out/migrator/sync.d.ts +0 -17
- package/out/migrator/sync.js +40 -39
- package/out/migrator/sync.js.map +1 -1
- package/out/sbvr-api/hooks.d.ts +33 -33
- package/out/sbvr-api/hooks.js.map +1 -1
- package/out/sbvr-api/odata-response.d.ts +2 -1
- package/out/sbvr-api/odata-response.js +4 -4
- package/out/sbvr-api/odata-response.js.map +1 -1
- package/out/sbvr-api/permissions.d.ts +2 -26
- package/out/sbvr-api/permissions.js +40 -39
- package/out/sbvr-api/permissions.js.map +1 -1
- package/out/sbvr-api/sbvr-utils.d.ts +6 -46
- package/out/sbvr-api/sbvr-utils.js +76 -73
- package/out/sbvr-api/sbvr-utils.js.map +1 -1
- package/out/server-glue/module.d.ts +1 -0
- package/out/server-glue/module.js +4 -1
- package/out/server-glue/module.js.map +1 -1
- package/out/tasks/common.d.ts +4 -0
- package/out/tasks/common.js +13 -0
- package/out/tasks/common.js.map +1 -0
- package/out/tasks/index.d.ts +8 -0
- package/out/tasks/index.js +142 -0
- package/out/tasks/index.js.map +1 -0
- package/out/tasks/tasks.sbvr +60 -0
- package/out/tasks/types.d.ts +38 -0
- package/out/tasks/types.js +10 -0
- package/out/tasks/types.js.map +1 -0
- package/out/tasks/worker.d.ts +16 -0
- package/out/tasks/worker.js +228 -0
- package/out/tasks/worker.js.map +1 -0
- package/package.json +20 -19
- package/src/config-loader/env.ts +6 -1
- package/src/data-server/sbvr-server.js +2 -3
- package/src/database-layer/db.ts +25 -0
- package/src/migrator/sync.ts +41 -46
- package/src/sbvr-api/hooks.ts +20 -21
- package/src/sbvr-api/odata-response.ts +13 -3
- package/src/sbvr-api/permissions.ts +48 -54
- package/src/sbvr-api/sbvr-utils.ts +92 -133
- package/src/server-glue/module.ts +3 -0
- package/src/tasks/common.ts +14 -0
- package/src/tasks/index.ts +158 -0
- package/src/tasks/tasks.sbvr +60 -0
- package/src/tasks/types.ts +58 -0
- package/src/tasks/worker.ts +278 -0
- package/out/migrator/migrations.d.ts +0 -58
- package/out/migrator/migrations.js +0 -3
- package/out/migrator/migrations.js.map +0 -1
- package/out/sbvr-api/dev.d.ts +0 -22
- package/out/sbvr-api/dev.js +0 -3
- package/out/sbvr-api/dev.js.map +0 -1
- package/out/sbvr-api/user.d.ts +0 -236
- package/out/sbvr-api/user.js +0 -3
- package/out/sbvr-api/user.js.map +0 -1
- package/src/migrator/migrations.ts +0 -64
- package/src/sbvr-api/dev.ts +0 -26
- package/src/sbvr-api/user.ts +0 -216
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sbvr-utils.js","sourceRoot":"","sources":["../../src/sbvr-api/sbvr-utils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"sbvr-utils.js","sourceRoot":"","sources":["../../src/sbvr-api/sbvr-utils.ts"],"names":[],"mappings":"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"}
|
@@ -12,6 +12,7 @@ export * as errors from '../sbvr-api/errors';
|
|
12
12
|
export * as env from '../config-loader/env';
|
13
13
|
export * as types from '../sbvr-api/common-types';
|
14
14
|
export * as hooks from '../sbvr-api/hooks';
|
15
|
+
export * as tasks from '../tasks';
|
15
16
|
export * as webResourceHandler from '../webresource-handler';
|
16
17
|
export type { configLoader as ConfigLoader };
|
17
18
|
export type { migratorUtils as Migrator };
|
@@ -23,11 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
23
|
return result;
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
exports.init = exports.webResourceHandler = exports.hooks = exports.types = exports.env = exports.errors = exports.permissions = exports.sbvrUtils = exports.mountLoginRouter = exports.PinejsSessionStore = exports.dbModule = void 0;
|
26
|
+
exports.init = exports.webResourceHandler = exports.tasks = exports.hooks = exports.types = exports.env = exports.errors = exports.permissions = exports.sbvrUtils = exports.mountLoginRouter = exports.PinejsSessionStore = exports.dbModule = void 0;
|
27
27
|
require("./sbvr-loader");
|
28
28
|
const dbModule = __importStar(require("../database-layer/db"));
|
29
29
|
const configLoader = __importStar(require("../config-loader/config-loader"));
|
30
30
|
const migrator = __importStar(require("../migrator/sync"));
|
31
|
+
const tasks = __importStar(require("../tasks"));
|
31
32
|
const sbvrUtils = __importStar(require("../sbvr-api/sbvr-utils"));
|
32
33
|
const env_1 = require("../config-loader/env");
|
33
34
|
exports.dbModule = __importStar(require("../database-layer/db"));
|
@@ -41,6 +42,7 @@ exports.errors = __importStar(require("../sbvr-api/errors"));
|
|
41
42
|
exports.env = __importStar(require("../config-loader/env"));
|
42
43
|
exports.types = __importStar(require("../sbvr-api/common-types"));
|
43
44
|
exports.hooks = __importStar(require("../sbvr-api/hooks"));
|
45
|
+
exports.tasks = __importStar(require("../tasks"));
|
44
46
|
exports.webResourceHandler = __importStar(require("../webresource-handler"));
|
45
47
|
let envDatabaseOptions;
|
46
48
|
if (dbModule.engines.websql != null) {
|
@@ -75,6 +77,7 @@ const init = async (app, config, databaseOptions = envDatabaseOptions) => {
|
|
75
77
|
await sbvrUtils.setup(app, db);
|
76
78
|
const cfgLoader = await configLoader.setup(app);
|
77
79
|
await cfgLoader.loadConfig(migrator.config);
|
80
|
+
await cfgLoader.loadConfig(tasks.config);
|
78
81
|
const promises = [];
|
79
82
|
if (process.env.SBVR_SERVER_ENABLED) {
|
80
83
|
const sbvrServer = await import('../data-server/sbvr-server.js');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/server-glue/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yBAAuB;AAEvB,+DAAiD;AACjD,6EAA+D;AAC/D,2DAA6C;
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/server-glue/module.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.ajv = exports.channel = exports.apiRoot = void 0;
|
7
|
+
const ajv_1 = __importDefault(require("ajv"));
|
8
|
+
exports.apiRoot = 'tasks';
|
9
|
+
exports.channel = 'pinejs$task_insert';
|
10
|
+
exports.ajv = new ajv_1.default({
|
11
|
+
inlineRefs: false,
|
12
|
+
});
|
13
|
+
//# sourceMappingURL=common.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tasks/common.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAGT,QAAA,OAAO,GAAG,OAAO,CAAC;AAGlB,QAAA,OAAO,GAAG,oBAAoB,CAAC;AAK/B,QAAA,GAAG,GAAG,IAAI,aAAG,CAAC;IAC1B,UAAU,EAAE,KAAK;CACjB,CAAC,CAAC"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { Schema } from 'ajv';
|
2
|
+
import type * as Db from '../database-layer/db';
|
3
|
+
import type { ConfigLoader } from '../server-glue/module';
|
4
|
+
import type { TaskHandler } from './types';
|
5
|
+
export * from './types';
|
6
|
+
export declare const config: ConfigLoader.Config;
|
7
|
+
export declare function setup(db: Db.Database): Promise<void>;
|
8
|
+
export declare function addTaskHandler(name: string, fn: TaskHandler['fn'], schema?: Schema): void;
|
@@ -0,0 +1,142 @@
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.addTaskHandler = exports.setup = exports.config = void 0;
|
30
|
+
const cronParser = __importStar(require("cron-parser"));
|
31
|
+
const env_1 = require("../config-loader/env");
|
32
|
+
const errors_1 = require("../sbvr-api/errors");
|
33
|
+
const hooks_1 = require("../sbvr-api/hooks");
|
34
|
+
const sbvrUtils = __importStar(require("../sbvr-api/sbvr-utils"));
|
35
|
+
const common_1 = require("./common");
|
36
|
+
const worker_1 = require("./worker");
|
37
|
+
__exportStar(require("./types"), exports);
|
38
|
+
const modelText = require('./tasks.sbvr');
|
39
|
+
const initSql = `
|
40
|
+
CREATE OR REPLACE FUNCTION notify_task_insert()
|
41
|
+
RETURNS TRIGGER AS $$
|
42
|
+
BEGIN
|
43
|
+
PERFORM pg_notify('${common_1.channel}', NEW.id::text);
|
44
|
+
RETURN NEW;
|
45
|
+
END;
|
46
|
+
$$ LANGUAGE plpgsql;
|
47
|
+
|
48
|
+
CREATE OR REPLACE TRIGGER task_insert_trigger
|
49
|
+
AFTER INSERT ON task
|
50
|
+
FOR EACH ROW WHEN (NEW.status = 'queued' AND NEW."is scheduled to execute on-time" IS NULL)
|
51
|
+
EXECUTE FUNCTION notify_task_insert();
|
52
|
+
|
53
|
+
CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
|
54
|
+
"is executed by-handler",
|
55
|
+
"is scheduled to execute on-time" ASC,
|
56
|
+
"priority" DESC,
|
57
|
+
"id" ASC
|
58
|
+
) WHERE status = 'queued';
|
59
|
+
`;
|
60
|
+
exports.config = {
|
61
|
+
models: [
|
62
|
+
{
|
63
|
+
modelName: common_1.apiRoot,
|
64
|
+
apiRoot: common_1.apiRoot,
|
65
|
+
modelText,
|
66
|
+
customServerCode: exports,
|
67
|
+
initSql,
|
68
|
+
},
|
69
|
+
],
|
70
|
+
};
|
71
|
+
let worker = null;
|
72
|
+
async function setup(db) {
|
73
|
+
if (db.engine !== 'postgres') {
|
74
|
+
console.warn('Skipping task setup as database not supported');
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
const client = sbvrUtils.api[common_1.apiRoot];
|
78
|
+
worker = new worker_1.Worker(client);
|
79
|
+
(0, hooks_1.addPureHook)('POST', common_1.apiRoot, 'task', {
|
80
|
+
POSTPARSE: async ({ req, request }) => {
|
81
|
+
request.values.is_created_by__actor =
|
82
|
+
req.user?.actor ?? req.apiKey?.actor;
|
83
|
+
if (request.values.is_created_by__actor == null) {
|
84
|
+
throw new errors_1.BadRequestError('Creating tasks with missing actor on req is not allowed');
|
85
|
+
}
|
86
|
+
request.values.status = 'queued';
|
87
|
+
request.values.attempt_count = 0;
|
88
|
+
request.values.attempt_limit ??= 1;
|
89
|
+
request.values.priority ??= 1;
|
90
|
+
if (request.values.is_scheduled_with__cron_expression != null &&
|
91
|
+
request.values.is_scheduled_to_execute_on__time == null) {
|
92
|
+
try {
|
93
|
+
request.values.is_scheduled_to_execute_on__time = cronParser
|
94
|
+
.parseExpression(request.values.is_scheduled_with__cron_expression)
|
95
|
+
.next()
|
96
|
+
.toDate()
|
97
|
+
.toISOString();
|
98
|
+
}
|
99
|
+
catch {
|
100
|
+
throw new errors_1.BadRequestError(`Invalid cron expression: ${request.values.is_scheduled_with__cron_expression}`);
|
101
|
+
}
|
102
|
+
}
|
103
|
+
if (request.values.is_scheduled_to_execute_on__time != null) {
|
104
|
+
const now = new Date(Date.now() + env_1.tasks.queueIntervalMS);
|
105
|
+
const startTime = new Date(request.values.is_scheduled_to_execute_on__time);
|
106
|
+
if (startTime < now) {
|
107
|
+
throw new errors_1.BadRequestError(`Task scheduled start time must be greater than ${env_1.tasks.queueIntervalMS} milliseconds in the future`);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
const handlerName = request.values.is_executed_by__handler;
|
111
|
+
if (handlerName == null) {
|
112
|
+
throw new errors_1.BadRequestError(`Must specify a task handler to execute`);
|
113
|
+
}
|
114
|
+
const handler = worker?.handlers[handlerName];
|
115
|
+
if (handler == null) {
|
116
|
+
throw new errors_1.BadRequestError(`No task handler with name '${handlerName}' registered`);
|
117
|
+
}
|
118
|
+
if (handler.validate != null) {
|
119
|
+
if (!handler.validate(request.values.is_executed_with__parameter_set)) {
|
120
|
+
throw new errors_1.BadRequestError(`Invalid parameter set: ${common_1.ajv.errorsText(handler.validate.errors)}`);
|
121
|
+
}
|
122
|
+
}
|
123
|
+
},
|
124
|
+
});
|
125
|
+
worker.start();
|
126
|
+
}
|
127
|
+
exports.setup = setup;
|
128
|
+
function addTaskHandler(name, fn, schema) {
|
129
|
+
if (worker == null) {
|
130
|
+
throw new Error('Database does not support tasks');
|
131
|
+
}
|
132
|
+
if (worker.handlers[name] != null) {
|
133
|
+
throw new Error(`Task handler with name '${name}' already registered`);
|
134
|
+
}
|
135
|
+
worker.handlers[name] = {
|
136
|
+
name,
|
137
|
+
fn,
|
138
|
+
validate: schema != null ? common_1.ajv.compile(schema) : undefined,
|
139
|
+
};
|
140
|
+
}
|
141
|
+
exports.addTaskHandler = addTaskHandler;
|
142
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,8CAAyD;AAEzD,+CAAqD;AACrD,6CAAgD;AAChD,kEAAoD;AAEpD,qCAAiD;AAEjD,qCAAkC;AAElC,0CAAwB;AAGxB,MAAM,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC,CAAC;AAIlD,MAAM,OAAO,GAAG;;;;sBAIM,gBAAO;;;;;;;;;;;;;;;;CAgB5B,CAAC;AAEW,QAAA,MAAM,GAAwB;IAC1C,MAAM,EAAE;QACP;YACC,SAAS,EAAE,gBAAO;YAClB,OAAO,EAAP,gBAAO;YACP,SAAS;YACT,gBAAgB,EAAE,OAAO;YACzB,OAAO;SACP;KACD;CACD,CAAC;AAEF,IAAI,MAAM,GAAkB,IAAI,CAAC;AAC1B,KAAK,UAAU,KAAK,CAAC,EAAe;IAE1C,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAO,CAAC,CAAC;IACtC,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;IAG5B,IAAA,mBAAW,EAAC,MAAM,EAAE,gBAAO,EAAE,MAAM,EAAE;QACpC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;YAErC,OAAO,CAAC,MAAM,CAAC,oBAAoB;gBAClC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;YACtC,IAAI,OAAO,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI,EAAE,CAAC;gBACjD,MAAM,IAAI,wBAAe,CACxB,yDAAyD,CACzD,CAAC;YACH,CAAC;YAGD,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,CAAC;YAEnC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;YAG9B,IACC,OAAO,CAAC,MAAM,CAAC,kCAAkC,IAAI,IAAI;gBACzD,OAAO,CAAC,MAAM,CAAC,gCAAgC,IAAI,IAAI,EACtD,CAAC;gBACF,IAAI,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,gCAAgC,GAAG,UAAU;yBAC1D,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC;yBAClE,IAAI,EAAE;yBACN,MAAM,EAAE;yBACR,WAAW,EAAE,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACR,MAAM,IAAI,wBAAe,CACxB,4BAA4B,OAAO,CAAC,MAAM,CAAC,kCAAkC,EAAE,CAC/E,CAAC;gBACH,CAAC;YACF,CAAC;YAGD,IAAI,OAAO,CAAC,MAAM,CAAC,gCAAgC,IAAI,IAAI,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAQ,CAAC,eAAe,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,IAAI,CACzB,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAC/C,CAAC;gBACF,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;oBACrB,MAAM,IAAI,wBAAe,CACxB,kDAAkD,WAAQ,CAAC,eAAe,6BAA6B,CACvG,CAAC;gBACH,CAAC;YACF,CAAC;YAGD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;YAC3D,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,wBAAe,CAAC,wCAAwC,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,wBAAe,CACxB,8BAA8B,WAAW,cAAc,CACvD,CAAC;YACH,CAAC;YAGD,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,EAAE,CAAC;oBACvE,MAAM,IAAI,wBAAe,CACxB,0BAA0B,YAAG,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACnE,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAnFD,sBAmFC;AAGD,SAAgB,cAAc,CAC7B,IAAY,EACZ,EAAqB,EACrB,MAAe;IAEf,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,sBAAsB,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;QACvB,IAAI;QACJ,EAAE;QACF,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,YAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1D,CAAC;AACH,CAAC;AAjBD,wCAiBC"}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
Vocabulary: tasks
|
2
|
+
|
3
|
+
Term: id
|
4
|
+
Concept Type: Big Serial (Type)
|
5
|
+
Term: actor
|
6
|
+
Concept Type: Integer (Type)
|
7
|
+
Term: attempt count
|
8
|
+
Concept Type: Integer (Type)
|
9
|
+
Term: attempt limit
|
10
|
+
Concept Type: Integer (Type)
|
11
|
+
Term: cron expression
|
12
|
+
Concept Type: Short Text (Type)
|
13
|
+
Term: error message
|
14
|
+
Concept Type: Short Text (Type)
|
15
|
+
Term: handler
|
16
|
+
Concept Type: Short Text (Type)
|
17
|
+
Term: key
|
18
|
+
Concept Type: Short Text (Type)
|
19
|
+
Term: parameter set
|
20
|
+
Concept Type: JSON (Type)
|
21
|
+
Term: priority
|
22
|
+
Concept Type: Integer (Type)
|
23
|
+
Term: status
|
24
|
+
Concept Type: Short Text (Type)
|
25
|
+
Term: time
|
26
|
+
Concept Type: Date Time (Type)
|
27
|
+
|
28
|
+
Term: task
|
29
|
+
Fact type: task has id
|
30
|
+
Necessity: each task has exactly one id
|
31
|
+
Fact type: task has key
|
32
|
+
Necessity: each task has at most one key
|
33
|
+
Fact type: task is created by actor
|
34
|
+
Necessity: each task is created by exactly one actor
|
35
|
+
Fact type: task is executed by handler
|
36
|
+
Necessity: each task is executed by exactly one handler
|
37
|
+
Fact type: task is executed with parameter set
|
38
|
+
Necessity: each task is executed with at most one parameter set
|
39
|
+
Fact type: task has priority
|
40
|
+
Necessity: each task has exactly one priority
|
41
|
+
Necessity: each task has a priority that is greater than or equal to 0
|
42
|
+
Fact type: task is scheduled with cron expression
|
43
|
+
Necessity: each task is scheduled with at most one cron expression
|
44
|
+
Fact type: task is scheduled to execute on time
|
45
|
+
Necessity: each task is scheduled to execute on at most one time
|
46
|
+
Fact type: task has status
|
47
|
+
Necessity: each task has exactly one status
|
48
|
+
Definition: "queued" or "cancelled" or "succeeded" or "failed"
|
49
|
+
Fact type: task started on time
|
50
|
+
Necessity: each task started on at most one time
|
51
|
+
Fact type: task ended on time
|
52
|
+
Necessity: each task ended on at most one time
|
53
|
+
Fact type: task has error message
|
54
|
+
Necessity: each task has at most one error message
|
55
|
+
Fact type: task has attempt count
|
56
|
+
Necessity: each task has exactly one attempt count
|
57
|
+
Fact type: task has attempt limit
|
58
|
+
Necessity: each task has exactly one attempt limit
|
59
|
+
Necessity: each task has an attempt limit that is greater than or equal to 1
|
60
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import type { ValidateFunction } from 'ajv';
|
2
|
+
import type { AnyObject } from 'pinejs-client-core';
|
3
|
+
import type * as Db from '../database-layer/db';
|
4
|
+
import type { PinejsClient } from '../sbvr-api/sbvr-utils';
|
5
|
+
export declare const taskStatuses: readonly ["queued", "cancelled", "succeeded", "failed"];
|
6
|
+
export type TaskStatus = (typeof taskStatuses)[number];
|
7
|
+
export interface Task {
|
8
|
+
id: number;
|
9
|
+
created_at: Date;
|
10
|
+
modified_at: Date;
|
11
|
+
is_created_by__actor: number;
|
12
|
+
is_executed_by__handler: string;
|
13
|
+
is_executed_with__parameter_set: object | null;
|
14
|
+
is_scheduled_with__cron_expression: string | null;
|
15
|
+
is_scheduled_to_execute_on__time: Date | null;
|
16
|
+
priority: number;
|
17
|
+
status: TaskStatus;
|
18
|
+
started_on__time: Date | null;
|
19
|
+
ended_on__time: Date | null;
|
20
|
+
error_message: string | null;
|
21
|
+
attempt_count: number;
|
22
|
+
attempt_limit: number;
|
23
|
+
}
|
24
|
+
export type PartialTask = Pick<Task, 'id' | 'is_created_by__actor' | 'is_executed_by__handler' | 'is_executed_with__parameter_set' | 'is_scheduled_with__cron_expression' | 'priority' | 'attempt_count' | 'attempt_limit'>;
|
25
|
+
export interface TaskArgs {
|
26
|
+
api: PinejsClient;
|
27
|
+
params: AnyObject;
|
28
|
+
tx: Db.Tx;
|
29
|
+
}
|
30
|
+
export type TaskResponse = Promise<{
|
31
|
+
status: TaskStatus;
|
32
|
+
error?: string;
|
33
|
+
}>;
|
34
|
+
export interface TaskHandler {
|
35
|
+
name: string;
|
36
|
+
fn: (options: TaskArgs) => TaskResponse;
|
37
|
+
validate?: ValidateFunction;
|
38
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAG;IAC3B,QAAQ;IACR,WAAW;IACX,WAAW;IACX,QAAQ;CACC,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { PinejsClient } from '../sbvr-api/sbvr-utils';
|
2
|
+
import type { TaskHandler } from './types';
|
3
|
+
export declare class Worker {
|
4
|
+
private readonly client;
|
5
|
+
handlers: Record<string, TaskHandler>;
|
6
|
+
private readonly concurrency;
|
7
|
+
private readonly interval;
|
8
|
+
private executing;
|
9
|
+
constructor(client: PinejsClient);
|
10
|
+
private canExecute;
|
11
|
+
private execute;
|
12
|
+
private finalize;
|
13
|
+
private getNextAttemptTime;
|
14
|
+
private poll;
|
15
|
+
start(): void;
|
16
|
+
}
|