當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript tasks.ActivityTask類代碼示例

本文整理匯總了TypeScript中simple-swf/build/src/tasks.ActivityTask的典型用法代碼示例。如果您正苦於以下問題:TypeScript ActivityTask類的具體用法?TypeScript ActivityTask怎麽用?TypeScript ActivityTask使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了ActivityTask類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: buildTaskMeta

 buildTaskMeta(task: ActivityTask, meta?: Object): Object {
   let taskMeta = {
     task: { type: task.activityName(), id: task.id },
     workflow: task.getWorkflowInfo()
   }
   return _.defaults(taskMeta || {}, meta || {})
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:7,代碼來源:ActivityWorker.ts

示例2: onTaskHeartbeat

 onTaskHeartbeat(task: ActivityTask, execution: Activity, status: TaskStatus) {
   const taskInfo = {type: task.activityName(), id: execution.id}
   this.ftlConfig.notifier.sendInfo('taskHeartbeat', {
     task: taskInfo,
     control: task.getControl(),
     workflow: task.getWorkflowInfo(),
     originWorkflow: task.getOriginWorkflow(),
     status
   })
   this.logInfo('task heartbeat status', this.buildTaskMeta(task, { status: status }))
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:11,代碼來源:ActivityWorker.ts

示例3: onFinishedTask

 onFinishedTask(task: ActivityTask, execution: Activity, success: boolean, details: TaskStatus) {
   let startTime = this.activityTimers[task.id]
   const taskInfo = {type: task.activityName(), id: execution.id}
   this.ftlConfig.metricReporter.timing('activity.timer', startTime)
   this.ftlConfig.metricReporter.timing(`activity.byHandler.${task.activityName()}.timer`, startTime)
   this.ftlConfig.metricReporter.decrement('activity.running')
   this.ftlConfig.metricReporter.decrement(`activity.byHandler.${task.activityName()}.running`)
   delete this.activityTimers[task.id]
   this.logInfo('responded to activity task', { task: taskInfo, success: success })
   this.logDebug('finished task details', { task: taskInfo, success: success, details: details })
   this.emit('activityCompleted', task, execution, details)
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:12,代碼來源:ActivityWorker.ts

示例4: onTaskError

 onTaskError(task: ActivityTask, execution: Activity, err: Error) {
   const taskInfo = {type: task.activityName(), id: execution.id}
   this.logInfo('unexpected task error', this.buildTaskMeta(task, { err }))
   this.ftlConfig.notifier.sendError('taskError', {
     task: taskInfo,
     control: task.getControl(),
     workflow: task.getWorkflowInfo(),
     originWorkflow: task.getOriginWorkflow(),
     err
   })
   this.emit('error', err, execution)
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:12,代碼來源:ActivityWorker.ts

示例5: onTaskCompleted

 onTaskCompleted(task: ActivityTask, execution: Activity, details: TaskStatus) {
   const taskInfo = {type: task.activityName(), id: execution.id}
   this.ftlConfig.metricReporter.increment('activity.completed')
   this.ftlConfig.metricReporter.increment(`activity.byHandler.${task.activityName()}.completed`)
   this.ftlConfig.notifier.sendInfo('taskFinished', {
     task: taskInfo,
     control: task.getControl(),
     workflow: task.getWorkflowInfo(),
     originWorkflow: task.getOriginWorkflow(),
     details
   })
   this.logInfo('task completed', this.buildTaskMeta(task, { details: details }))
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:13,代碼來源:ActivityWorker.ts

示例6: onTaskCanceled

 onTaskCanceled(task: ActivityTask, execution: Activity, reason: StopReasons) {
   const taskInfo = {type: task.activityName(), id: execution.id}
   this.ftlConfig.metricReporter.increment('activity.canceled')
   this.ftlConfig.metricReporter.increment(`activity.byHandler.${task.activityName()}.canceled`)
   delete this.activityTimers[task.id]
   this.ftlConfig.notifier.sendWarn('taskCanceled', {
     task: taskInfo,
     control: task.getControl(),
     workflow: task.getWorkflowInfo(),
     originWorkflow: task.getOriginWorkflow(),
     reason: reason
   })
   this.logInfo('task canceled', this.buildTaskMeta(task, { reason: reason }))
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:14,代碼來源:ActivityWorker.ts

示例7: onStartTask

 onStartTask(task: ActivityTask, execution: Activity) {
   this.activityTimers[task.id] = new Date()
   this.ftlConfig.metricReporter.increment('activity.running')
   this.ftlConfig.metricReporter.increment(`activity.byHandler.${task.activityName()}.running`)
   const taskInfo = {task: {type: task.activityName(), id: execution.id}}
   this.logInfo('received activity task', taskInfo)
   execution.on('completed', this.onTaskCompleted.bind(this, task, execution))
   execution.on('failed', this.onTaskFailed.bind(this, task, execution))
   execution.on('canceled', this.onTaskCanceled.bind(this, task, execution))
   execution.on('error', this.onTaskError.bind(this, task, execution))
   execution.on('heartbeat', this.onTaskHeartbeat.bind(this, task, execution))
   execution.on('heartbeatComplete', this.onTaskHBComplete.bind(this, task, execution))
   this.ftlConfig.notifier.sendInfo('taskStarted', {
     task: taskInfo.task,
     control: task.getControl(),
     workflow: task.getWorkflowInfo(),
     originWorkflow: task.getOriginWorkflow()
   })
 }
開發者ID:instructure,項目名稱:ftl-engine,代碼行數:19,代碼來源:ActivityWorker.ts


注:本文中的simple-swf/build/src/tasks.ActivityTask類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。