@balena/pinejs 17.1.0-build-joshbwlng-tasks-29374df83aa26203cd952b1fe5d623d4f226d4dc-1 → 17.1.0-build-joshbwlng-tasks-9f3f42ef1bf62714507bacc7842e99841b116d94-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 +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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;CAe5B,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;YAGnC,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;AAjFD,sBAiFC;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"}
|
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":"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"}
|
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`,
|