@live-change/task-service 0.8.33 → 0.8.35

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.
Files changed (3) hide show
  1. package/model.js +1 -1
  2. package/package.json +4 -4
  3. package/task.js +25 -3
package/model.js CHANGED
@@ -223,6 +223,6 @@ definition.view({
223
223
  const { name } = props
224
224
  const range = App.extractRange(props)
225
225
  if(!range.limit) range.limit = 256
226
- return Task.indexRangePath('runningRootsByName', [name], range)
226
+ return Task.sortedIndexRangePath('runningRootsByName', [name], range)
227
227
  }
228
228
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/task-service",
3
- "version": "0.8.33",
3
+ "version": "0.8.35",
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.8.33",
26
- "@live-change/relations-plugin": "^0.8.33"
25
+ "@live-change/framework": "^0.8.35",
26
+ "@live-change/relations-plugin": "^0.8.35"
27
27
  },
28
- "gitHead": "98ff6f9c09e5fc1f408010df6cc8038eff571276"
28
+ "gitHead": "90fbb746dc7270895daf17b437ca48c0b0a01c01"
29
29
  }
package/task.js CHANGED
@@ -82,6 +82,7 @@ async function startTask(taskFunction, props, causeType, cause){
82
82
  cause,
83
83
  taskObject,
84
84
  }
85
+ console.log("START TASK!", taskFunction.name)
85
86
  const promise = taskFunction(props, context)
86
87
  return { task: taskObject.id, taskObject, promise, causeType, cause }
87
88
  }
@@ -160,6 +161,10 @@ export default function task(definition, serviceDefinition) {
160
161
  task: {
161
162
  id: taskObject.id,
162
163
  async run(taskFunction, props, progressFactor = 1) {
164
+ if(typeof taskFunction !== 'function') {
165
+ console.log("TASK FUNCTION", taskFunction)
166
+ throw new Error('Task function is not a function')
167
+ }
163
168
  //console.log("SUBTASK RUN", taskFunction.definition.name, props)
164
169
  const subtaskProgress = { current: 0, total: 1, factor: progressFactor }
165
170
  subtasksProgress.push(subtaskProgress)
@@ -192,6 +197,16 @@ export default function task(definition, serviceDefinition) {
192
197
  }
193
198
  updateProgress()
194
199
  }
200
+ },
201
+ async trigger(trigger, props) {
202
+ return await app.trigger({
203
+ causeType: 'task_Task',
204
+ cause: taskObject.id,
205
+ ...trigger,
206
+ }, props)
207
+ },
208
+ async triggerService(trigger, props, returnArray = false) {
209
+ return await app.triggerService(trigger, props, returnArray)
195
210
  }
196
211
  })
197
212
  await updateTask({
@@ -207,7 +222,12 @@ export default function task(definition, serviceDefinition) {
207
222
  await updateTask({
208
223
  state: 'failed',
209
224
  doneAt: new Date(),
210
- error: error.stack ?? error.message ?? error
225
+ error: error.stack ?? error.message ?? error,
226
+ retries: [...(taskObject.retries || []), {
227
+ startedAt: taskObject.startedAt,
228
+ failedAt: new Date(),
229
+ error: error.stack ?? error.message ?? error
230
+ }]
211
231
  })
212
232
  } else {
213
233
  const retriesCount = (taskObject.retries || []).length
@@ -227,7 +247,7 @@ export default function task(definition, serviceDefinition) {
227
247
 
228
248
  while(taskObject.state !== 'done' && taskObject.state !== 'failed') {
229
249
  await runTask()
230
- console.log("TASK", definition.name, "AFTER RUNTASK", taskObject)
250
+ // console.log("TASK", definition.name, "AFTER RUNTASK", taskObject)
231
251
  }
232
252
 
233
253
  return taskObject.result
@@ -235,7 +255,8 @@ export default function task(definition, serviceDefinition) {
235
255
 
236
256
  serviceDefinition.beforeStart(async () => {
237
257
  setTimeout(async () => {
238
- let gt = ""
258
+ let gt = undefined
259
+ console.log("GT", gt)
239
260
  let tasksToRestart = await app.viewGet('runningTaskRootsByName', {
240
261
  name: definition.name,
241
262
  gt,
@@ -256,6 +277,7 @@ export default function task(definition, serviceDefinition) {
256
277
  await new Promise(resolve => setTimeout(resolve, 1000)) // wait a second
257
278
  }
258
279
  gt = tasksToRestart[tasksToRestart.length - 1].id
280
+ console.log("GT", gt)
259
281
  tasksToRestart = await app.viewGet('runningTaskRootsByName', {
260
282
  name: definition.name,
261
283
  gt,