@Controller()
export class AppController {
@Subscription('my-external-task', {
lockDuration: 500,
})
async myExternalTask(@Payload() task: Task, @Ctx() taskService: TaskService) {
const businessKey = task.businessKey;
const isBusinessKeyMissing = !businessKey;
const processVariables = new Variables();
processVariables.set('isBusinessKeyMissing', isBusinessKeyMissing);
if (!isBusinessKeyMissing) {
await taskService.complete(task, processVariables);
Logger.log('External task successfully completed!');
} else {
const errorMessage = 'No business key given!';
const options: HandleFailureOptions = {
errorMessage: errorMessage,
};
await taskService.handleFailure(task, options);
Logger.error(errorMessage);
}
}
}