@balena/pinejs 16.2.0-build-joshbwlng-tasks-1297814070f10e99d7bd475c28c365cc03081096-3 → 16.2.0-build-joshbwlng-tasks-f9c7bcd03b9bd8e872adf95baf22d38db59a224c-3
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 +22 -2
- package/CHANGELOG.md +7 -1
- package/out/database-layer/db.js.map +1 -1
- package/out/tasks/index.d.ts +1 -1
- package/out/tasks/index.js +26 -15
- package/out/tasks/index.js.map +1 -1
- package/out/tasks/model.sbvr +1 -1
- package/out/tasks/types.d.ts +1 -1
- package/out/tasks/types.js +2 -2
- package/out/tasks/types.js.map +1 -1
- package/out/tasks/worker.js +19 -19
- package/out/tasks/worker.js.map +1 -1
- package/package.json +3 -3
- package/src/database-layer/db.ts +0 -1
- package/src/tasks/index.ts +34 -18
- package/src/tasks/model.sbvr +1 -1
- package/src/tasks/types.ts +2 -2
- package/src/tasks/worker.ts +19 -19
@@ -1,6 +1,14 @@
|
|
1
1
|
- commits:
|
2
|
+
- subject: Cleanup
|
3
|
+
hash: f9c7bcd03b9bd8e872adf95baf22d38db59a224c
|
4
|
+
body: ""
|
5
|
+
footer:
|
6
|
+
Change-type: patch
|
7
|
+
change-type: patch
|
8
|
+
author: Josh Bowling
|
9
|
+
nested: []
|
2
10
|
- subject: Add async tasks
|
3
|
-
hash:
|
11
|
+
hash: 70f75de2a75edeb40e49a0c83681cfde51c9a774
|
4
12
|
body: ""
|
5
13
|
footer:
|
6
14
|
Change-type: minor
|
@@ -9,7 +17,19 @@
|
|
9
17
|
nested: []
|
10
18
|
version: 16.2.0
|
11
19
|
title: ""
|
12
|
-
date: 2024-04-
|
20
|
+
date: 2024-04-30T23:14:50.558Z
|
21
|
+
- commits:
|
22
|
+
- subject: "Tests: trap `INT` rather than `SIGINT` for broader shell support"
|
23
|
+
hash: 77d35219d88740218a123eb645953e463827d67e
|
24
|
+
body: ""
|
25
|
+
footer:
|
26
|
+
Change-type: patch
|
27
|
+
change-type: patch
|
28
|
+
author: Pagan Gazzard
|
29
|
+
nested: []
|
30
|
+
version: 16.1.4
|
31
|
+
title: ""
|
32
|
+
date: 2024-04-30T09:10:29.177Z
|
13
33
|
- commits:
|
14
34
|
- subject: Update @balena/odata-to-abstract-sql to 6.2.7
|
15
35
|
hash: 76b2f842af0b49ef2956db23a22758fc0d1e50a0
|
package/CHANGELOG.md
CHANGED
@@ -5,10 +5,16 @@ automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
|
5
5
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
6
6
|
|
7
7
|
# v16.2.0
|
8
|
-
## (2024-04-
|
8
|
+
## (2024-04-30)
|
9
9
|
|
10
|
+
* Cleanup [Josh Bowling]
|
10
11
|
* Add async tasks [Josh Bowling]
|
11
12
|
|
13
|
+
# v16.1.4
|
14
|
+
## (2024-04-30)
|
15
|
+
|
16
|
+
* Tests: trap `INT` rather than `SIGINT` for broader shell support [Pagan Gazzard]
|
17
|
+
|
12
18
|
# v16.1.3
|
13
19
|
## (2024-04-24)
|
14
20
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/database-layer/db.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/database-layer/db.ts"],"names":[],"mappings":"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"}
|
package/out/tasks/index.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { Schema } from 'ajv';
|
2
2
|
import type * as Db from '../database-layer/db';
|
3
|
-
import type
|
3
|
+
import type * as sbvrUtils from '../sbvr-api/sbvr-utils';
|
4
4
|
import type { TaskHandler } from './types';
|
5
5
|
export * from './types';
|
6
6
|
export declare const config: {
|
package/out/tasks/index.js
CHANGED
@@ -48,20 +48,30 @@ exports.config = {
|
|
48
48
|
};
|
49
49
|
async function createTrigger(tx) {
|
50
50
|
await tx.executeSql(`
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
51
|
+
CREATE OR REPLACE FUNCTION notify_task_insert()
|
52
|
+
RETURNS TRIGGER AS $$
|
53
|
+
BEGIN
|
54
|
+
PERFORM pg_notify('${common_1.channel}', NEW.id::text);
|
55
|
+
RETURN NEW;
|
56
|
+
END;
|
57
|
+
$$ LANGUAGE plpgsql;
|
58
|
+
`);
|
59
59
|
await tx.executeSql(`
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
60
|
+
CREATE OR REPLACE TRIGGER task_insert_trigger
|
61
|
+
AFTER INSERT ON task
|
62
|
+
FOR EACH ROW WHEN (NEW.status = 'queued' AND NEW."is scheduled to execute on-time" IS NULL)
|
63
|
+
EXECUTE FUNCTION notify_task_insert();
|
64
|
+
`);
|
65
|
+
}
|
66
|
+
async function createIndexes(tx) {
|
67
|
+
await tx.executeSql(`
|
68
|
+
CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
|
69
|
+
"is executed by-handler",
|
70
|
+
"is scheduled to execute on-time" ASC,
|
71
|
+
"priority" DESC,
|
72
|
+
"id" ASC
|
73
|
+
) WHERE status = 'queued';
|
74
|
+
`);
|
65
75
|
}
|
66
76
|
let worker = null;
|
67
77
|
async function setup(db, tx) {
|
@@ -69,6 +79,7 @@ async function setup(db, tx) {
|
|
69
79
|
return;
|
70
80
|
}
|
71
81
|
await createTrigger(tx);
|
82
|
+
await createIndexes(tx);
|
72
83
|
const client = new sbvr_utils_1.PinejsClient({
|
73
84
|
apiPrefix: `/${common_1.apiRoot}/`,
|
74
85
|
});
|
@@ -80,10 +91,10 @@ async function setup(db, tx) {
|
|
80
91
|
if (request.values.is_created_by__actor == null) {
|
81
92
|
throw new errors_1.BadRequestError('Creating tasks with missing actor on req is not allowed');
|
82
93
|
}
|
83
|
-
request.values.status = '
|
94
|
+
request.values.status = 'queued';
|
84
95
|
request.values.attempt_count = 0;
|
85
|
-
request.values.priority ??= 1;
|
86
96
|
request.values.attempt_limit ??= 1;
|
97
|
+
request.values.priority ??= 1;
|
87
98
|
if (request.values.is_scheduled_with__cron_expression != null &&
|
88
99
|
request.values.is_scheduled_to_execute_on__time == null) {
|
89
100
|
try {
|
package/out/tasks/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,8CAAyD;AAEzD,+CAAqD;AACrD,6CAAgD;AAChD,uDAAsD;AAEtD,qCAAiD;AAEjD,qCAAkC;AAElC,0CAAwB;AAGxB,MAAM,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC,QAAA,MAAM,GAAG;IACrB,MAAM,EAAE;QACP;YACC,SAAS,EAAE,gBAAO;YAClB,OAAO,EAAP,gBAAO;YACP,SAAS;YACT,gBAAgB,EAAE,OAAO;SACzB;KAC8B;CAChC,CAAC;AAIF,KAAK,UAAU,aAAa,CAAC,EAAS;IACrC,MAAM,EAAE,CAAC,UAAU,CAAC;;;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
|
package/out/tasks/model.sbvr
CHANGED
@@ -45,7 +45,7 @@ Fact type: task is scheduled to execute on time
|
|
45
45
|
Necessity: each task is scheduled to execute on at most one time
|
46
46
|
Fact type: task has status
|
47
47
|
Necessity: each task has exactly one status
|
48
|
-
Definition: "
|
48
|
+
Definition: "queued" or "cancelled" or "succeeded" or "failed"
|
49
49
|
Fact type: task started on time
|
50
50
|
Necessity: each task started on at most one time
|
51
51
|
Fact type: task ended on time
|
package/out/tasks/types.d.ts
CHANGED
@@ -2,7 +2,7 @@ import type { ValidateFunction } from 'ajv';
|
|
2
2
|
import type { AnyObject } from 'pinejs-client-core';
|
3
3
|
import type * as Db from '../database-layer/db';
|
4
4
|
import type { PinejsClient } from '../sbvr-api/sbvr-utils';
|
5
|
-
export declare const taskStatuses: readonly ["
|
5
|
+
export declare const taskStatuses: readonly ["queued", "cancelled", "succeeded", "failed"];
|
6
6
|
export type TaskStatus = (typeof taskStatuses)[number];
|
7
7
|
export interface Task {
|
8
8
|
id: number;
|
package/out/tasks/types.js
CHANGED
package/out/tasks/types.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAG;IAC3B,
|
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"}
|
package/out/tasks/worker.js
CHANGED
@@ -67,7 +67,7 @@ class Worker {
|
|
67
67
|
await this.finalize(tx, task, startedOnTime, 'failed', `Invalid parameter set: ${common_1.ajv.errorsText(handler.validate.errors)}`);
|
68
68
|
return;
|
69
69
|
}
|
70
|
-
let status = '
|
70
|
+
let status = 'queued';
|
71
71
|
let error;
|
72
72
|
try {
|
73
73
|
await module_1.sbvrUtils.db.transaction(async (handlerTx) => {
|
@@ -82,7 +82,7 @@ class Worker {
|
|
82
82
|
});
|
83
83
|
status = results.status;
|
84
84
|
error = results.error;
|
85
|
-
if (results.status !== '
|
85
|
+
if (results.status !== 'succeeded' && !handlerTx.isClosed()) {
|
86
86
|
await handlerTx.rollback();
|
87
87
|
}
|
88
88
|
});
|
@@ -114,7 +114,7 @@ class Worker {
|
|
114
114
|
...(errorMessage != null && { error_message: errorMessage }),
|
115
115
|
};
|
116
116
|
if (status === 'failed' && attemptCount < task.attempt_limit) {
|
117
|
-
body.status = '
|
117
|
+
body.status = 'queued';
|
118
118
|
body.is_scheduled_to_execute_on__time =
|
119
119
|
this.getNextAttemptTime(attemptCount);
|
120
120
|
}
|
@@ -127,7 +127,7 @@ class Worker {
|
|
127
127
|
id: task.id,
|
128
128
|
body,
|
129
129
|
});
|
130
|
-
if (['failed', '
|
130
|
+
if (['failed', 'succeeded'].includes(body.status) &&
|
131
131
|
task.is_scheduled_with__cron_expression != null) {
|
132
132
|
await this.client.post({
|
133
133
|
resource: 'task',
|
@@ -160,21 +160,21 @@ class Worker {
|
|
160
160
|
return;
|
161
161
|
}
|
162
162
|
const result = await tx.executeSql(`SELECT ${selectColumns}
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
163
|
+
FROM task AS t
|
164
|
+
WHERE
|
165
|
+
t."is executed by-handler" IN (${binds}) AND
|
166
|
+
t."status" = 'queued' AND
|
167
|
+
t."attempt count" <= t."attempt limit" AND
|
168
|
+
(
|
169
|
+
t."is scheduled to execute on-time" IS NULL OR
|
170
|
+
t."is scheduled to execute on-time" <= CURRENT_TIMESTAMP + INTERVAL '${Math.ceil(this.interval / 1000)} second'
|
171
|
+
)
|
172
|
+
ORDER BY
|
173
|
+
t."is scheduled to execute on-time" ASC,
|
174
|
+
t."priority" DESC,
|
175
|
+
t."id" ASC
|
176
|
+
LIMIT ${Math.max(this.concurrency - this.executing, 0)}
|
177
|
+
FOR UPDATE SKIP LOCKED`, handlerNames);
|
178
178
|
if (result.rows.length === 0) {
|
179
179
|
return;
|
180
180
|
}
|
package/out/tasks/worker.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAyD;AAEzD,6CAA8D;AAC9D,qEAAuD;AACvD,uDAAsD;AACtD,kDAAkD;AAClD,qCAAwC;AAIxC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;IACpC,EAAE,EAAE,IAAI;IACR,wBAAwB,EAAE,yBAAyB;IACnD,gCAAgC,EAAE,iCAAiC;IACnE,mCAAmC,EAAE,oCAAoC;IACzE,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,UAAU;IACpB,qBAAqB,EAAE,sBAAsB;CAC7C,CAAC;KACA,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,KAAK,GAAG,CAAC;KACjD,IAAI,CAAC,IAAI,CAAC,CAAC;AAKb,MAAa,MAAM;IAOlB,YAAY,MAAoB;QANzB,aAAQ,GAAgC,EAAE,CAAC;QAI1C,cAAS,GAAG,CAAC,CAAC;QAGrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAQ,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,WAAQ,CAAC,eAAe,CAAC;IAC1C,CAAC;IAGO,UAAU;QACjB,OAAO,CACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1E,CAAC;IACH,CAAC;IAGO,KAAK,CAAC,OAAO,CAAC,EAAS,EAAE,IAAiB;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC;YAEJ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5D,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,QAAQ,CAClB,EAAE,EACF,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,iCAAiC,CACjC,CAAC;gBACF,OAAO;YACR,CAAC;YAKD,IACC,OAAO,CAAC,QAAQ,IAAI,IAAI;gBACxB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,EACtD,CAAC;gBACF,MAAM,IAAI,CAAC,QAAQ,CAClB,EAAE,EACF,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,0BAA0B,YAAG,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACnE,CAAC;gBACF,OAAO;YACR,CAAC;YAGD,IAAI,MAAM,GAAe,
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/pinejs",
|
3
|
-
"version": "16.2.0-build-joshbwlng-tasks-
|
3
|
+
"version": "16.2.0-build-joshbwlng-tasks-f9c7bcd03b9bd8e872adf95baf22d38db59a224c-3",
|
4
4
|
"main": "out/server-glue/module",
|
5
5
|
"type": "commonjs",
|
6
6
|
"repository": "git@github.com:balena-io/pinejs.git",
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"webpack-build": "npm run webpack-browser && npm run webpack-module && npm run webpack-server",
|
21
21
|
"lint": "balena-lint -t tsconfig.dev.json -e js -e ts src build typings Gruntfile.ts && npx tsc --project tsconfig.dev.json --noEmit",
|
22
22
|
"test": "npm run lint && npm run build && npm run webpack-build && npm run test:compose",
|
23
|
-
"test:compose": "trap 'docker compose -f docker-compose.npm-test.yml down ; echo Stopped ; exit 0'
|
23
|
+
"test:compose": "trap 'docker compose -f docker-compose.npm-test.yml down ; echo Stopped ; exit 0' INT; docker compose -f docker-compose.npm-test.yml up -d && sleep 2 && DATABASE_URL=postgres://docker:docker@localhost:5431/postgres PINEJS_WEBRESOURCE_MAXFILESIZE=1000000000 S3_ENDPOINT=http://localhost:43680 S3_ACCESS_KEY=USERNAME S3_SECRET_KEY=PASSWORD S3_STORAGE_ADAPTER_BUCKET=balena-pine-web-resources S3_REGION=us-east-1 PINEJS_QUEUE_CONCURRENCY=1 npm run mocha",
|
24
24
|
"mocha": "TS_NODE_FILES=true mocha",
|
25
25
|
"prettify": "balena-lint -t tsconfig.dev.json -e js -e ts --fix src test build typings Gruntfile.ts"
|
26
26
|
},
|
@@ -147,6 +147,6 @@
|
|
147
147
|
"recursive": true
|
148
148
|
},
|
149
149
|
"versionist": {
|
150
|
-
"publishedAt": "2024-04-
|
150
|
+
"publishedAt": "2024-04-30T23:14:51.304Z"
|
151
151
|
}
|
152
152
|
}
|
package/src/database-layer/db.ts
CHANGED
package/src/tasks/index.ts
CHANGED
@@ -5,7 +5,7 @@ import type * as Db from '../database-layer/db';
|
|
5
5
|
import { BadRequestError } from '../sbvr-api/errors';
|
6
6
|
import { addPureHook } from '../sbvr-api/hooks';
|
7
7
|
import { PinejsClient } from '../sbvr-api/sbvr-utils';
|
8
|
-
import type
|
8
|
+
import type * as sbvrUtils from '../sbvr-api/sbvr-utils';
|
9
9
|
import { ajv, apiRoot, channel } from './common';
|
10
10
|
import type { TaskHandler } from './types';
|
11
11
|
import { Worker } from './worker';
|
@@ -30,22 +30,34 @@ export const config = {
|
|
30
30
|
// Only poll or execute on triggers if worker is not already at max concurrency
|
31
31
|
async function createTrigger(tx: Db.Tx): Promise<void> {
|
32
32
|
await tx.executeSql(`
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
// Only trigger if task is
|
33
|
+
CREATE OR REPLACE FUNCTION notify_task_insert()
|
34
|
+
RETURNS TRIGGER AS $$
|
35
|
+
BEGIN
|
36
|
+
PERFORM pg_notify('${channel}', NEW.id::text);
|
37
|
+
RETURN NEW;
|
38
|
+
END;
|
39
|
+
$$ LANGUAGE plpgsql;
|
40
|
+
`);
|
41
|
+
|
42
|
+
// Only trigger if task is queued and not scheduled
|
43
43
|
await tx.executeSql(`
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
CREATE OR REPLACE TRIGGER task_insert_trigger
|
45
|
+
AFTER INSERT ON task
|
46
|
+
FOR EACH ROW WHEN (NEW.status = 'queued' AND NEW."is scheduled to execute on-time" IS NULL)
|
47
|
+
EXECUTE FUNCTION notify_task_insert();
|
48
|
+
`);
|
49
|
+
}
|
50
|
+
|
51
|
+
// Partial index for polling
|
52
|
+
async function createIndexes(tx: Db.Tx): Promise<void> {
|
53
|
+
await tx.executeSql(`
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
|
55
|
+
"is executed by-handler",
|
56
|
+
"is scheduled to execute on-time" ASC,
|
57
|
+
"priority" DESC,
|
58
|
+
"id" ASC
|
59
|
+
) WHERE status = 'queued';
|
60
|
+
`);
|
49
61
|
}
|
50
62
|
|
51
63
|
let worker: Worker | null = null;
|
@@ -58,6 +70,9 @@ export async function setup(db: Db.Database, tx: Db.Tx): Promise<void> {
|
|
58
70
|
// Create trigger function if it doesn't exist
|
59
71
|
await createTrigger(tx);
|
60
72
|
|
73
|
+
// Create indexes if they don't exist
|
74
|
+
await createIndexes(tx);
|
75
|
+
|
61
76
|
const client = new PinejsClient({
|
62
77
|
apiPrefix: `/${apiRoot}/`,
|
63
78
|
});
|
@@ -76,10 +91,11 @@ export async function setup(db: Db.Database, tx: Db.Tx): Promise<void> {
|
|
76
91
|
}
|
77
92
|
|
78
93
|
// Set defaults
|
79
|
-
request.values.status = '
|
94
|
+
request.values.status = 'queued';
|
80
95
|
request.values.attempt_count = 0;
|
81
|
-
request.values.priority ??= 1;
|
82
96
|
request.values.attempt_limit ??= 1;
|
97
|
+
// TODO: Implement a balancer to better enqueue tasks based on actor usage
|
98
|
+
request.values.priority ??= 1;
|
83
99
|
|
84
100
|
// Set scheduled start time using cron expression if provided
|
85
101
|
if (
|
package/src/tasks/model.sbvr
CHANGED
@@ -45,7 +45,7 @@ Fact type: task is scheduled to execute on time
|
|
45
45
|
Necessity: each task is scheduled to execute on at most one time
|
46
46
|
Fact type: task has status
|
47
47
|
Necessity: each task has exactly one status
|
48
|
-
Definition: "
|
48
|
+
Definition: "queued" or "cancelled" or "succeeded" or "failed"
|
49
49
|
Fact type: task started on time
|
50
50
|
Necessity: each task started on at most one time
|
51
51
|
Fact type: task ended on time
|
package/src/tasks/types.ts
CHANGED
@@ -4,9 +4,9 @@ import type * as Db from '../database-layer/db';
|
|
4
4
|
import type { PinejsClient } from '../sbvr-api/sbvr-utils';
|
5
5
|
|
6
6
|
export const taskStatuses = [
|
7
|
-
'
|
7
|
+
'queued',
|
8
8
|
'cancelled',
|
9
|
-
'
|
9
|
+
'succeeded',
|
10
10
|
'failed',
|
11
11
|
] as const;
|
12
12
|
export type TaskStatus = (typeof taskStatuses)[number];
|
package/src/tasks/worker.ts
CHANGED
@@ -81,7 +81,7 @@ export class Worker {
|
|
81
81
|
}
|
82
82
|
|
83
83
|
// Execute handler
|
84
|
-
let status: TaskStatus = '
|
84
|
+
let status: TaskStatus = 'queued';
|
85
85
|
let error: string | undefined;
|
86
86
|
try {
|
87
87
|
await sbvrUtils.db.transaction(async (handlerTx) => {
|
@@ -96,7 +96,7 @@ export class Worker {
|
|
96
96
|
});
|
97
97
|
status = results.status;
|
98
98
|
error = results.error;
|
99
|
-
if (results.status !== '
|
99
|
+
if (results.status !== 'succeeded' && !handlerTx.isClosed()) {
|
100
100
|
await handlerTx.rollback();
|
101
101
|
}
|
102
102
|
});
|
@@ -138,7 +138,7 @@ export class Worker {
|
|
138
138
|
// Re-enqueue if the task failed but has retries left, remember that
|
139
139
|
// attemptCount includes the initial attempt while attempt_limit does not
|
140
140
|
if (status === 'failed' && attemptCount < task.attempt_limit) {
|
141
|
-
body.status = '
|
141
|
+
body.status = 'queued';
|
142
142
|
|
143
143
|
// Schedule next attempt using exponential backoff
|
144
144
|
body.is_scheduled_to_execute_on__time =
|
@@ -159,7 +159,7 @@ export class Worker {
|
|
159
159
|
// Create new task with same configuration if previous
|
160
160
|
// iteration completed and has a cron expression
|
161
161
|
if (
|
162
|
-
['failed', '
|
162
|
+
['failed', 'succeeded'].includes(body.status) &&
|
163
163
|
task.is_scheduled_with__cron_expression != null
|
164
164
|
) {
|
165
165
|
await this.client.post({
|
@@ -200,21 +200,21 @@ export class Worker {
|
|
200
200
|
|
201
201
|
const result = await tx.executeSql(
|
202
202
|
`SELECT ${selectColumns}
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
203
|
+
FROM task AS t
|
204
|
+
WHERE
|
205
|
+
t."is executed by-handler" IN (${binds}) AND
|
206
|
+
t."status" = 'queued' AND
|
207
|
+
t."attempt count" <= t."attempt limit" AND
|
208
|
+
(
|
209
|
+
t."is scheduled to execute on-time" IS NULL OR
|
210
|
+
t."is scheduled to execute on-time" <= CURRENT_TIMESTAMP + INTERVAL '${Math.ceil(this.interval / 1000)} second'
|
211
|
+
)
|
212
|
+
ORDER BY
|
213
|
+
t."is scheduled to execute on-time" ASC,
|
214
|
+
t."priority" DESC,
|
215
|
+
t."id" ASC
|
216
|
+
LIMIT ${Math.max(this.concurrency - this.executing, 0)}
|
217
|
+
FOR UPDATE SKIP LOCKED`,
|
218
218
|
handlerNames,
|
219
219
|
);
|
220
220
|
if (result.rows.length === 0) {
|