public boolean ackTaskReceived(String taskId) {
        LOGGER.debug("Ack received for task: {}", taskId);
        AtomicBoolean ackResult = new AtomicBoolean(false);
        try {
            ackResult.set(executionService.ackTaskReceived(taskId));
        } catch (Exception e) {
            // Fail the task and let decide reevaluate the workflow, thereby preventing workflow
            // being stuck from transient ack errors.
            String errorMsg = String.format("Error when trying to ack task %s", taskId);
            LOGGER.error(errorMsg, e);
            Task task = executionService.getTask(taskId);
            Monitors.recordAckTaskError(task.getTaskType());
            failTask(task, errorMsg);
            ackResult.set(false);
        }
        return ackResult.get();
    }
Ack Task is received.

@param taskId id of the task
@return `true|false` if task is received or not
core/src/main/java/com/netflix/conductor/service/TaskServiceImpl.java