@live-change/task-service 0.9.192 → 0.9.194
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 +4 -4
- package/task.ts +16 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/task-service",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.194",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"type": "module",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@live-change/framework": "^0.9.
|
|
26
|
-
"@live-change/relations-plugin": "^0.9.
|
|
25
|
+
"@live-change/framework": "^0.9.194",
|
|
26
|
+
"@live-change/relations-plugin": "^0.9.194"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "40d47cf397b45ca1f1fa888d4d85727376b2b0c0"
|
|
29
29
|
}
|
package/task.ts
CHANGED
|
@@ -99,7 +99,8 @@ async function startTask(taskFunction, props, causeType, cause, expire, client:C
|
|
|
99
99
|
taskObject,
|
|
100
100
|
client
|
|
101
101
|
}
|
|
102
|
-
const logger = logs.getLogger('task',
|
|
102
|
+
const logger = logs.getLogger(taskFunction.definition.service+':task:'+taskFunction.definition.name,
|
|
103
|
+
app.config.version)
|
|
103
104
|
logger.emit({
|
|
104
105
|
severityNumber: SeverityNumber.INFO,
|
|
105
106
|
severityText: 'INFO',
|
|
@@ -252,6 +253,8 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
252
253
|
definition.service = serviceDefinition.name
|
|
253
254
|
if(!definition.properties) throw new Error('Task properties are not defined in ' + definition.name)
|
|
254
255
|
|
|
256
|
+
const logger = App.utils.loggingHelpers('xmlAlert', app.config.version || '0.0.1')
|
|
257
|
+
|
|
255
258
|
const taskFunction = async (props, context,
|
|
256
259
|
emit = events => app.emitEvents(definition.name, Array.isArray(events) ? events : [events], {}),
|
|
257
260
|
reportProgress = (current, total, selfProgress) => {}) => {
|
|
@@ -289,7 +292,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
289
292
|
})
|
|
290
293
|
|
|
291
294
|
taskObject = await app.serviceViewGet('task', 'task', { task: taskObject.id })
|
|
292
|
-
|
|
295
|
+
//logger.info("UPDATED TASK", taskObject, result)
|
|
293
296
|
})
|
|
294
297
|
}
|
|
295
298
|
|
|
@@ -311,7 +314,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
311
314
|
setTimeout(updateProgress, progressThrottleTime - lastProgressUpdate - Date.now())
|
|
312
315
|
return
|
|
313
316
|
}
|
|
314
|
-
|
|
317
|
+
logger.log("UPDATE TASK", definition.name, "PROGRESS", current, total, selfProgress, subtasksProgress)
|
|
315
318
|
updateTask({
|
|
316
319
|
progress: { ...selfProgress, current, total }
|
|
317
320
|
})
|
|
@@ -334,7 +337,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
334
337
|
const commonFunctions = {
|
|
335
338
|
async run(taskFunction: TaskFunction, props, progressFactor = 1, expire = undefined) {
|
|
336
339
|
if(typeof taskFunction !== 'function') {
|
|
337
|
-
|
|
340
|
+
logger.log("TASK FUNCTION", taskFunction)
|
|
338
341
|
throw new Error('Task function is not a function')
|
|
339
342
|
}
|
|
340
343
|
//console.log("SUBTASK RUN", taskFunction.definition.name, props)
|
|
@@ -417,7 +420,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
417
420
|
const taskWatchers = tasks.map(task => {
|
|
418
421
|
const observable = Task.observable(task)
|
|
419
422
|
if(!observable) {
|
|
420
|
-
|
|
423
|
+
logger.error("SUBTASK OBSERVABLE NOT FOUND", task)
|
|
421
424
|
throw new Error("SUBTASK OBSERVABLE NOT FOUND")
|
|
422
425
|
}
|
|
423
426
|
const watcher: any = {
|
|
@@ -492,7 +495,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
492
495
|
stack: error.stack
|
|
493
496
|
}]
|
|
494
497
|
})
|
|
495
|
-
|
|
498
|
+
logger.error("TASK", taskObject.id, "OF TYPE", definition.name,
|
|
496
499
|
"WITH PARAMETERS", props, "FAILED WITH ERROR", error.stack ?? error.message ?? error)
|
|
497
500
|
if(definition.fallback && !error.taskNoFallback) {
|
|
498
501
|
await triggerOnTaskStateChange(taskObject, context.causeType, context.cause)
|
|
@@ -522,7 +525,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
522
525
|
}]
|
|
523
526
|
})
|
|
524
527
|
const retryDelay = definition.retryDelay ? definition.retryDelay(retriesCount) : 1000 * Math.pow(2, retriesCount)
|
|
525
|
-
|
|
528
|
+
logger.log("RETRYING TASK", taskObject.id, "IN", retryDelay, "ms")
|
|
526
529
|
await new Promise(resolve => setTimeout(resolve, retryDelay))
|
|
527
530
|
}
|
|
528
531
|
await triggerOnTaskStateChange(taskObject, context.causeType, context.cause)
|
|
@@ -539,9 +542,9 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
539
542
|
}
|
|
540
543
|
|
|
541
544
|
while(taskObject.state !== 'done' && taskObject.state !== 'fallbackDone' && taskObject.state !== 'failed') {
|
|
542
|
-
|
|
545
|
+
logger.log("RUNNING TASK", definition.name, "STATE", taskObject.state, "OBJECT", taskObject)
|
|
543
546
|
await runTask()
|
|
544
|
-
|
|
547
|
+
logger.log("TASK", definition.name, "AFTER RUNTASK", taskObject)
|
|
545
548
|
// console.log("TASK", definition.name, "AFTER RUNTASK", taskObject)
|
|
546
549
|
}
|
|
547
550
|
|
|
@@ -560,9 +563,9 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
560
563
|
limit: 25
|
|
561
564
|
})
|
|
562
565
|
while(tasksToRestart.length > 0) {
|
|
563
|
-
|
|
566
|
+
logger.log("FOUND", tasksToRestart.length, "TASKS", definition.name, "TO RESTART")
|
|
564
567
|
for(const task of tasksToRestart) {
|
|
565
|
-
|
|
568
|
+
logger.log("RESTARTING TASK", task)
|
|
566
569
|
const taskObject = { ...task, id: task.to ?? task.id }
|
|
567
570
|
const context = {
|
|
568
571
|
causeType: task.causeType,
|
|
@@ -575,7 +578,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
575
578
|
rootType: 'task_Task',
|
|
576
579
|
root: taskObject.to ?? taskObject.id
|
|
577
580
|
})
|
|
578
|
-
|
|
581
|
+
logger.log("SUBTASKS", subtasks)
|
|
579
582
|
for(const subtask of subtasks) {
|
|
580
583
|
if(subtask.state === 'running' && (subtask.to ?? subtask.id) !== (taskObject.to ?? taskObject.id)) {
|
|
581
584
|
await app.triggerService({ service: 'task', type: 'task_updateTask' }, {
|
|
@@ -591,7 +594,7 @@ export default function task(definition:TaskDefinition, serviceDefinition) {
|
|
|
591
594
|
await new Promise(resolve => setTimeout(resolve, 1000)) // wait a second
|
|
592
595
|
}
|
|
593
596
|
gt = tasksToRestart[tasksToRestart.length - 1].id
|
|
594
|
-
|
|
597
|
+
logger.log("GT", gt)
|
|
595
598
|
tasksToRestart = await app.viewGet('runningTaskRootsByName', {
|
|
596
599
|
name: definition.name,
|
|
597
600
|
gt,
|