@balena/pinejs 17.1.0-build-joshbwlng-tasks-29374df83aa26203cd952b1fe5d623d4f226d4dc-1 → 17.1.0-build-joshbwlng-tasks-9f3f42ef1bf62714507bacc7842e99841b116d94-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.
- package/.pinejs-cache.json +1 -1
- package/.versionbot/CHANGELOG.yml +11 -3
- package/CHANGELOG.md +2 -1
- package/out/tasks/index.js +0 -2
- package/out/tasks/index.js.map +1 -1
- package/out/tasks/tasks.sbvr +0 -5
- package/out/tasks/types.d.ts +1 -2
- package/out/tasks/worker.js +0 -3
- package/out/tasks/worker.js.map +1 -1
- package/package.json +2 -2
- package/src/tasks/index.ts +0 -3
- package/src/tasks/tasks.sbvr +0 -5
- package/src/tasks/types.ts +0 -2
- package/src/tasks/worker.ts +0 -3
@@ -1,6 +1,14 @@
|
|
1
1
|
- commits:
|
2
|
-
- subject:
|
3
|
-
hash:
|
2
|
+
- subject: Remove task priority support
|
3
|
+
hash: 9f3f42ef1bf62714507bacc7842e99841b116d94
|
4
|
+
body: ""
|
5
|
+
footer:
|
6
|
+
Change-type: patch
|
7
|
+
change-type: patch
|
8
|
+
author: Josh Bowling
|
9
|
+
nested: []
|
10
|
+
- subject: Bind more variables in poll query
|
11
|
+
hash: 27c1848791cef43d3a72b169a46b938a52aea0f7
|
4
12
|
body: ""
|
5
13
|
footer:
|
6
14
|
Change-type: patch
|
@@ -17,7 +25,7 @@
|
|
17
25
|
nested: []
|
18
26
|
version: 17.1.0
|
19
27
|
title: ""
|
20
|
-
date: 2024-06-19T06:
|
28
|
+
date: 2024-06-19T06:39:07.325Z
|
21
29
|
- commits:
|
22
30
|
- subject: Improve `result` typing for `POSTRUN`/`PRERESPOND` hooks
|
23
31
|
hash: adec8e6cfb12d75109627a582c948d6f950d0989
|
package/CHANGELOG.md
CHANGED
@@ -7,7 +7,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
7
7
|
# v17.1.0
|
8
8
|
## (2024-06-19)
|
9
9
|
|
10
|
-
*
|
10
|
+
* Remove task priority support [Josh Bowling]
|
11
|
+
* Bind more variables in poll query [Josh Bowling]
|
11
12
|
* Add async tasks [Josh Bowling]
|
12
13
|
|
13
14
|
# v17.0.3
|
package/out/tasks/index.js
CHANGED
@@ -53,7 +53,6 @@ EXECUTE FUNCTION notify_task_insert();
|
|
53
53
|
CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
|
54
54
|
"is executed by-handler",
|
55
55
|
"is scheduled to execute on-time" ASC,
|
56
|
-
"priority" DESC,
|
57
56
|
"id" ASC
|
58
57
|
) WHERE status = 'queued';
|
59
58
|
`;
|
@@ -86,7 +85,6 @@ async function setup(db) {
|
|
86
85
|
request.values.status = 'queued';
|
87
86
|
request.values.attempt_count = 0;
|
88
87
|
request.values.attempt_limit ??= 1;
|
89
|
-
request.values.priority ??= 1;
|
90
88
|
if (request.values.is_scheduled_with__cron_expression != null &&
|
91
89
|
request.values.is_scheduled_to_execute_on__time == null) {
|
92
90
|
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,kEAAoD;AAEpD,qCAAiD;AAEjD,qCAAkC;AAElC,0CAAwB;AAGxB,MAAM,SAAS,GAAW,OAAO,CAAC,cAAc,CAAC,CAAC;AAIlD,MAAM,OAAO,GAAG;;;;sBAIM,gBAAO
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
|
package/out/tasks/tasks.sbvr
CHANGED
@@ -18,8 +18,6 @@ Term: key
|
|
18
18
|
Concept Type: Short Text (Type)
|
19
19
|
Term: parameter set
|
20
20
|
Concept Type: JSON (Type)
|
21
|
-
Term: priority
|
22
|
-
Concept Type: Integer (Type)
|
23
21
|
Term: status
|
24
22
|
Concept Type: Short Text (Type)
|
25
23
|
Term: time
|
@@ -36,9 +34,6 @@ Fact type: task is executed by handler
|
|
36
34
|
Necessity: each task is executed by exactly one handler
|
37
35
|
Fact type: task is executed with parameter set
|
38
36
|
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
37
|
Fact type: task is scheduled with cron expression
|
43
38
|
Necessity: each task is scheduled with at most one cron expression
|
44
39
|
Fact type: task is scheduled to execute on time
|
package/out/tasks/types.d.ts
CHANGED
@@ -13,7 +13,6 @@ export interface Task {
|
|
13
13
|
is_executed_with__parameter_set: object | null;
|
14
14
|
is_scheduled_with__cron_expression: string | null;
|
15
15
|
is_scheduled_to_execute_on__time: Date | null;
|
16
|
-
priority: number;
|
17
16
|
status: TaskStatus;
|
18
17
|
started_on__time: Date | null;
|
19
18
|
ended_on__time: Date | null;
|
@@ -21,7 +20,7 @@ export interface Task {
|
|
21
20
|
attempt_count: number;
|
22
21
|
attempt_limit: number;
|
23
22
|
}
|
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' | '
|
23
|
+
export type PartialTask = Pick<Task, 'id' | 'is_created_by__actor' | 'is_executed_by__handler' | 'is_executed_with__parameter_set' | 'is_scheduled_with__cron_expression' | 'attempt_count' | 'attempt_limit'>;
|
25
24
|
export interface TaskArgs {
|
26
25
|
api: PinejsClient;
|
27
26
|
params: AnyObject;
|
package/out/tasks/worker.js
CHANGED
@@ -38,7 +38,6 @@ const selectColumns = Object.entries({
|
|
38
38
|
'is scheduled with-cron expression': 'is_scheduled_with__cron_expression',
|
39
39
|
'attempt count': 'attempt_count',
|
40
40
|
'attempt limit': 'attempt_limit',
|
41
|
-
priority: 'priority',
|
42
41
|
'is created by-actor': 'is_created_by__actor',
|
43
42
|
})
|
44
43
|
.map(([key, value]) => `t."${key}" AS "${value}"`)
|
@@ -148,7 +147,6 @@ class Worker {
|
|
148
147
|
is_executed_by__handler: task.is_executed_by__handler,
|
149
148
|
is_executed_with__parameter_set: task.is_executed_with__parameter_set,
|
150
149
|
is_scheduled_with__cron_expression: task.is_scheduled_with__cron_expression,
|
151
|
-
priority: task.priority,
|
152
150
|
},
|
153
151
|
});
|
154
152
|
}
|
@@ -178,7 +176,6 @@ class Worker {
|
|
178
176
|
)
|
179
177
|
ORDER BY
|
180
178
|
t."is scheduled to execute on-time" ASC,
|
181
|
-
t."priority" DESC,
|
182
179
|
t."id" ASC
|
183
180
|
LIMIT $${handlerNames.length + 2}
|
184
181
|
FOR UPDATE SKIP LOCKED`, [
|
package/out/tasks/worker.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAkD;AAElD,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,
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAkD;AAElD,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,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;IAMW;IALtB,QAAQ,GAAgC,EAAE,CAAC;IACjC,WAAW,CAAS;IACpB,QAAQ,CAAS;IAC1B,SAAS,GAAG,CAAC,CAAC;IAEtB,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;QAChD,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;IAEO,KAAK,CAAC,OAAO,CAAC,IAAiB,EAAE,EAAS;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,QAAQ,CAAC;YAClC,IAAI,KAAyB,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,kBAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;oBAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC;wBAChC,GAAG,EAAE,IAAI,yBAAY,CAAC;4BACrB,WAAW,EAAE;gCACZ,EAAE,EAAE,SAAS;6BACb;yBACD,CAAC;wBACF,MAAM,EAAE,IAAI,CAAC,+BAA+B,IAAI,EAAE;wBAClD,EAAE,EAAE,SAAS;qBACb,CAAC,CAAC;oBACH,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBACxB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBACtB,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;wBAC7D,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;oBAC5B,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAEd,IAAI,CAAC,CAAC,GAAG,YAAY,2BAAsB,CAAC,EAAE,CAAC;oBAC9C,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;oBAAS,CAAC;gBAEV,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,KAAK,CACZ,0BAA0B,IAAI,CAAC,EAAE,iBAAiB,IAAI,CAAC,uBAAuB,GAAG,EACjF,GAAG,CACH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAGO,KAAK,CAAC,QAAQ,CACrB,EAAS,EACT,IAAiB,EACjB,aAAmB,EACnB,MAAkB,EAClB,YAAqB;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAc;YACvB,gBAAgB,EAAE,aAAa;YAC/B,cAAc,EAAE,IAAI,IAAI,EAAE;YAC1B,MAAM;YACN,aAAa,EAAE,YAAY;YAC3B,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;SAC5D,CAAC;QAIF,IAAI,MAAM,KAAK,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YAGvB,IAAI,CAAC,gCAAgC;gBACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;QAGD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvB,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE;gBACZ,EAAE;gBACF,GAAG,EAAE,WAAW,CAAC,IAAI;aACrB;YACD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI;SACJ,CAAC,CAAC;QAIH,IACC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,kCAAkC,IAAI,IAAI,EAC9C,CAAC;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE;oBACZ,EAAE;oBACF,GAAG,EAAE,WAAW,CAAC,IAAI;iBACrB;gBACD,OAAO,EAAE;oBACR,cAAc,EAAE,KAAK;iBACrB;gBACD,IAAI,EAAE;oBACL,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;oBAC/C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;oBACrD,+BAA+B,EAAE,IAAI,CAAC,+BAA+B;oBACrE,kCAAkC,EACjC,IAAI,CAAC,kCAAkC;iBACxC;aACD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAGO,kBAAkB,CAAC,OAAe;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;IAGO,IAAI;QACX,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,CAAC,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;oBACxB,OAAO;gBACR,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,kBAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CACjC,UAAU,aAAa;;;wCAGW,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;sEAK5B,YAAY,CAAC,MAAM,GAAG,CAAC;;;;;eAK9E,YAAY,CAAC,MAAM,GAAG,CAAC;6BACT,EACvB;wBACC,GAAG,YAAY;wBACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;qBAC9C,CACD,CAAC;oBACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC9B,OAAO;oBACR,CAAC;oBAGD,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAkB,EAAE,EAAE,CAAC,CAAC;oBAC5C,CAAC,CAAC,CACF,CAAC;oBACF,QAAQ,GAAG,IAAI,CAAC;gBACjB,CAAC,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;IACN,CAAC;IAGM,KAAK;QAEX,IAAI,kBAAS,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,kBAAS,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;QACH,CAAC;QACD,kBAAS,CAAC,EAAE,CAAC,EAAE,CACd,cAAc,EACd,KAAK,EAAE,GAAG,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;gBACvB,MAAM,kBAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CACjC,UAAU,aAAa,sDAAsD,EAC7E,CAAC,GAAG,CAAC,OAAO,CAAC,CACb,CAAC;oBACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,EACD;YACC,OAAO,EAAP,gBAAO;SACP,CACD,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CACD;AAxPD,wBAwPC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/pinejs",
|
3
|
-
"version": "17.1.0-build-joshbwlng-tasks-
|
3
|
+
"version": "17.1.0-build-joshbwlng-tasks-9f3f42ef1bf62714507bacc7842e99841b116d94-1",
|
4
4
|
"main": "out/server-glue/module",
|
5
5
|
"type": "commonjs",
|
6
6
|
"repository": "git@github.com:balena-io/pinejs.git",
|
@@ -147,6 +147,6 @@
|
|
147
147
|
"recursive": true
|
148
148
|
},
|
149
149
|
"versionist": {
|
150
|
-
"publishedAt": "2024-06-19T06:
|
150
|
+
"publishedAt": "2024-06-19T06:39:08.056Z"
|
151
151
|
}
|
152
152
|
}
|
package/src/tasks/index.ts
CHANGED
@@ -34,7 +34,6 @@ EXECUTE FUNCTION notify_task_insert();
|
|
34
34
|
CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
|
35
35
|
"is executed by-handler",
|
36
36
|
"is scheduled to execute on-time" ASC,
|
37
|
-
"priority" DESC,
|
38
37
|
"id" ASC
|
39
38
|
) WHERE status = 'queued';
|
40
39
|
`;
|
@@ -78,8 +77,6 @@ export async function setup(db: Db.Database): Promise<void> {
|
|
78
77
|
request.values.status = 'queued';
|
79
78
|
request.values.attempt_count = 0;
|
80
79
|
request.values.attempt_limit ??= 1;
|
81
|
-
// TODO: Implement a balancer to better enqueue tasks based on actor usage
|
82
|
-
request.values.priority ??= 1;
|
83
80
|
|
84
81
|
// Set scheduled start time using cron expression if provided
|
85
82
|
if (
|
package/src/tasks/tasks.sbvr
CHANGED
@@ -18,8 +18,6 @@ Term: key
|
|
18
18
|
Concept Type: Short Text (Type)
|
19
19
|
Term: parameter set
|
20
20
|
Concept Type: JSON (Type)
|
21
|
-
Term: priority
|
22
|
-
Concept Type: Integer (Type)
|
23
21
|
Term: status
|
24
22
|
Concept Type: Short Text (Type)
|
25
23
|
Term: time
|
@@ -36,9 +34,6 @@ Fact type: task is executed by handler
|
|
36
34
|
Necessity: each task is executed by exactly one handler
|
37
35
|
Fact type: task is executed with parameter set
|
38
36
|
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
37
|
Fact type: task is scheduled with cron expression
|
43
38
|
Necessity: each task is scheduled with at most one cron expression
|
44
39
|
Fact type: task is scheduled to execute on time
|
package/src/tasks/types.ts
CHANGED
@@ -19,7 +19,6 @@ export interface Task {
|
|
19
19
|
is_executed_with__parameter_set: object | null;
|
20
20
|
is_scheduled_with__cron_expression: string | null;
|
21
21
|
is_scheduled_to_execute_on__time: Date | null;
|
22
|
-
priority: number;
|
23
22
|
status: TaskStatus;
|
24
23
|
started_on__time: Date | null;
|
25
24
|
ended_on__time: Date | null;
|
@@ -35,7 +34,6 @@ export type PartialTask = Pick<
|
|
35
34
|
| 'is_executed_by__handler'
|
36
35
|
| 'is_executed_with__parameter_set'
|
37
36
|
| 'is_scheduled_with__cron_expression'
|
38
|
-
| 'priority'
|
39
37
|
| 'attempt_count'
|
40
38
|
| 'attempt_limit'
|
41
39
|
>;
|
package/src/tasks/worker.ts
CHANGED
@@ -17,7 +17,6 @@ const selectColumns = Object.entries({
|
|
17
17
|
'is scheduled with-cron expression': 'is_scheduled_with__cron_expression',
|
18
18
|
'attempt count': 'attempt_count',
|
19
19
|
'attempt limit': 'attempt_limit',
|
20
|
-
priority: 'priority',
|
21
20
|
'is created by-actor': 'is_created_by__actor',
|
22
21
|
})
|
23
22
|
.map(([key, value]) => `t."${key}" AS "${value}"`)
|
@@ -179,7 +178,6 @@ export class Worker {
|
|
179
178
|
is_executed_with__parameter_set: task.is_executed_with__parameter_set,
|
180
179
|
is_scheduled_with__cron_expression:
|
181
180
|
task.is_scheduled_with__cron_expression,
|
182
|
-
priority: task.priority,
|
183
181
|
},
|
184
182
|
});
|
185
183
|
}
|
@@ -214,7 +212,6 @@ export class Worker {
|
|
214
212
|
)
|
215
213
|
ORDER BY
|
216
214
|
t."is scheduled to execute on-time" ASC,
|
217
|
-
t."priority" DESC,
|
218
215
|
t."id" ASC
|
219
216
|
LIMIT $${handlerNames.length + 2}
|
220
217
|
FOR UPDATE SKIP LOCKED`,
|