From b4a595f19828cc31b702479794eab3173f41546d Mon Sep 17 00:00:00 2001 From: Martini <110882768+martini612@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:15:04 +0900 Subject: [PATCH] if status-listener error, task not executed --- .../netflix/conductor/service/ExecutionService.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/netflix/conductor/service/ExecutionService.java b/core/src/main/java/com/netflix/conductor/service/ExecutionService.java index 2c985dec0..4fb3f78ea 100644 --- a/core/src/main/java/com/netflix/conductor/service/ExecutionService.java +++ b/core/src/main/java/com/netflix/conductor/service/ExecutionService.java @@ -189,7 +189,18 @@ public List poll( .map(executionDAOFacade::getTaskModel) .filter(Objects::nonNull) .filter(task -> TaskModel.Status.IN_PROGRESS.equals(task.getStatus())) - .forEach(taskStatusListener::onTaskInProgress); + .forEach( + task -> { + try { + taskStatusListener.onTaskInProgress(task); + } catch (Exception e) { + String errorMsg = + String.format( + "Error while notifying TaskStatusListener: %s for workflow: %s", + task.getTaskId(), task.getWorkflowInstanceId()); + LOGGER.error(errorMsg, e); + } + }); executionDAOFacade.updateTaskLastPoll(taskType, domain, workerId); Monitors.recordTaskPoll(queueName); tasks.forEach(this::ackTaskReceived);