本文整理匯總了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 || {})
}
示例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 }))
}
示例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)
}
示例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)
}
示例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 }))
}
示例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 }))
}
示例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()
})
}