@taskcluster/client-web 95.0.3 → 95.1.0
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/package.json +1 -1
- package/src/clients/Queue.js +23 -0
- package/src/clients/QueueEvents.js +16 -0
package/package.json
CHANGED
package/src/clients/Queue.js
CHANGED
|
@@ -26,6 +26,8 @@ export default class Queue extends Client {
|
|
|
26
26
|
this.scheduleTask.entry = {"args":["taskId"],"category":"Tasks","method":"post","name":"scheduleTask","output":true,"query":[],"route":"/task/<taskId>/schedule","scopes":{"AnyOf":["queue:schedule-task:<schedulerId>/<taskGroupId>/<taskId>","queue:schedule-task-in-project:<projectId>",{"AllOf":["queue:schedule-task","assume:scheduler-id:<schedulerId>/<taskGroupId>"]}]},"stability":"stable","type":"function"}; // eslint-disable-line
|
|
27
27
|
this.rerunTask.entry = {"args":["taskId"],"category":"Tasks","method":"post","name":"rerunTask","output":true,"query":[],"route":"/task/<taskId>/rerun","scopes":{"AnyOf":["queue:rerun-task:<schedulerId>/<taskGroupId>/<taskId>","queue:rerun-task-in-project:<projectId>",{"AllOf":["queue:rerun-task","assume:scheduler-id:<schedulerId>/<taskGroupId>"]}]},"stability":"stable","type":"function"}; // eslint-disable-line
|
|
28
28
|
this.cancelTask.entry = {"args":["taskId"],"category":"Tasks","method":"post","name":"cancelTask","output":true,"query":[],"route":"/task/<taskId>/cancel","scopes":{"AnyOf":["queue:cancel-task:<schedulerId>/<taskGroupId>/<taskId>","queue:cancel-task-in-project:<projectId>",{"AllOf":["queue:cancel-task","assume:scheduler-id:<schedulerId>/<taskGroupId>"]}]},"stability":"stable","type":"function"}; // eslint-disable-line
|
|
29
|
+
this.changeTaskPriority.entry = {"args":["taskId"],"category":"Tasks","input":true,"method":"post","name":"changeTaskPriority","output":true,"query":[],"route":"/task/<taskId>/priority","scopes":{"AnyOf":["queue:change-task-priority:<taskId>","queue:change-task-priority-in-queue:<taskQueueId>"]},"stability":"experimental","type":"function"}; // eslint-disable-line
|
|
30
|
+
this.changeTaskGroupPriority.entry = {"args":["taskGroupId"],"category":"Task-Groups","input":true,"method":"post","name":"changeTaskGroupPriority","output":true,"query":[],"route":"/task-group/<taskGroupId>/priority","scopes":"queue:change-task-group-priority:<schedulerId>/<taskGroupId>","stability":"experimental","type":"function"}; // eslint-disable-line
|
|
29
31
|
this.claimWork.entry = {"args":["taskQueueId"],"category":"Worker Interface","input":true,"method":"post","name":"claimWork","output":true,"query":[],"route":"/claim-work/<taskQueueId>","scopes":{"AllOf":["queue:claim-work:<taskQueueId>","queue:worker-id:<workerGroup>/<workerId>"]},"stability":"stable","type":"function"}; // eslint-disable-line
|
|
30
32
|
this.claimTask.entry = {"args":["taskId","runId"],"category":"Worker Interface","input":true,"method":"post","name":"claimTask","output":true,"query":[],"route":"/task/<taskId>/runs/<runId>/claim","scopes":{"AllOf":["queue:claim-task:<provisionerId>/<workerType>","queue:worker-id:<workerGroup>/<workerId>"]},"stability":"deprecated","type":"function"}; // eslint-disable-line
|
|
31
33
|
this.reclaimTask.entry = {"args":["taskId","runId"],"category":"Worker Interface","method":"post","name":"reclaimTask","output":true,"query":[],"route":"/task/<taskId>/runs/<runId>/reclaim","scopes":"queue:reclaim-task:<taskId>/<runId>","stability":"stable","type":"function"}; // eslint-disable-line
|
|
@@ -287,6 +289,27 @@ export default class Queue extends Client {
|
|
|
287
289
|
return this.request(this.cancelTask.entry, args);
|
|
288
290
|
}
|
|
289
291
|
/* eslint-disable max-len */
|
|
292
|
+
// This method updates the priority of a single unresolved task.
|
|
293
|
+
// * Claimed or running tasks keep their current run priority until they are retried.
|
|
294
|
+
// * Emits `taskPriorityChanged` events so downstream tooling can observe manual overrides.
|
|
295
|
+
/* eslint-enable max-len */
|
|
296
|
+
changeTaskPriority(...args) {
|
|
297
|
+
this.validate(this.changeTaskPriority.entry, args);
|
|
298
|
+
|
|
299
|
+
return this.request(this.changeTaskPriority.entry, args);
|
|
300
|
+
}
|
|
301
|
+
/* eslint-disable max-len */
|
|
302
|
+
// This method applies a new priority to unresolved tasks within a task group.
|
|
303
|
+
// * Updates run in bounded batches to avoid long locks.
|
|
304
|
+
// * Claimed or running tasks keep their current run priority until they are retried.
|
|
305
|
+
// * Emits `taskGroupPriorityChanged` summary event at the end.
|
|
306
|
+
/* eslint-enable max-len */
|
|
307
|
+
changeTaskGroupPriority(...args) {
|
|
308
|
+
this.validate(this.changeTaskGroupPriority.entry, args);
|
|
309
|
+
|
|
310
|
+
return this.request(this.changeTaskGroupPriority.entry, args);
|
|
311
|
+
}
|
|
312
|
+
/* eslint-disable max-len */
|
|
290
313
|
// Claim pending task(s) for the given task queue.
|
|
291
314
|
// If any work is available (even if fewer than the requested number of
|
|
292
315
|
// tasks, this will return immediately. Otherwise, it will block for tens of
|
|
@@ -124,6 +124,22 @@ export default class QueueEvents extends Client {
|
|
|
124
124
|
taskGroupSealed(pattern) {
|
|
125
125
|
const entry = {"exchange":"task-group-sealed","name":"taskGroupSealed","routingKey":[{"constant":"primary","multipleWords":false,"name":"routingKeyKind","required":true},{"multipleWords":false,"name":"taskGroupId","required":true},{"multipleWords":false,"name":"schedulerId","required":true},{"multipleWords":true,"name":"reserved","required":false}],"schema":"v1/task-group-changed-message.json#","type":"topic-exchange"}; // eslint-disable-line
|
|
126
126
|
|
|
127
|
+
return this.normalizePattern(entry, pattern);
|
|
128
|
+
}
|
|
129
|
+
/* eslint-disable max-len */
|
|
130
|
+
// A message published when task priority was updated via `changeTaskPriority` API call.
|
|
131
|
+
/* eslint-enable max-len */
|
|
132
|
+
taskPriorityChanged(pattern) {
|
|
133
|
+
const entry = {"exchange":"task-priority-changed","name":"taskPriorityChanged","routingKey":[{"constant":"primary","multipleWords":false,"name":"routingKeyKind","required":true},{"multipleWords":false,"name":"taskId","required":true},{"multipleWords":false,"name":"runId","required":false},{"multipleWords":false,"name":"workerGroup","required":false},{"multipleWords":false,"name":"workerId","required":false},{"multipleWords":false,"name":"provisionerId","required":true},{"multipleWords":false,"name":"workerType","required":true},{"multipleWords":false,"name":"schedulerId","required":true},{"multipleWords":false,"name":"taskGroupId","required":true},{"multipleWords":true,"name":"reserved","required":false}],"schema":"v1/task-priority-changed-message.json#","type":"topic-exchange"}; // eslint-disable-line
|
|
134
|
+
|
|
135
|
+
return this.normalizePattern(entry, pattern);
|
|
136
|
+
}
|
|
137
|
+
/* eslint-disable max-len */
|
|
138
|
+
// A message published when task group priority was changed via `changeTaskGroupPriority` API call.
|
|
139
|
+
/* eslint-enable max-len */
|
|
140
|
+
taskGroupPriorityChanged(pattern) {
|
|
141
|
+
const entry = {"exchange":"task-group-priority-changed","name":"taskGroupPriorityChanged","routingKey":[{"constant":"primary","multipleWords":false,"name":"routingKeyKind","required":true},{"multipleWords":false,"name":"taskGroupId","required":true},{"multipleWords":false,"name":"schedulerId","required":true},{"multipleWords":true,"name":"reserved","required":false}],"schema":"v1/task-group-priority-changed-message.json#","type":"topic-exchange"}; // eslint-disable-line
|
|
142
|
+
|
|
127
143
|
return this.normalizePattern(entry, pattern);
|
|
128
144
|
}
|
|
129
145
|
}
|