Class: Tasker::Orchestration::TaskFinalizer::UnclearStateHandler
- Inherits:
-
Object
- Object
- Tasker::Orchestration::TaskFinalizer::UnclearStateHandler
- Defined in:
- lib/tasker/orchestration/task_finalizer.rb
Overview
Service class to handle unclear task states Reduces complexity by organizing unclear state handling logic
Class Method Summary collapse
-
.handle(task, context, finalizer) ⇒ Object
Handle unclear task state.
Class Method Details
.handle(task, context, finalizer) ⇒ Object
Handle unclear task state
533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 |
# File 'lib/tasker/orchestration/task_finalizer.rb', line 533 def handle(task, context, finalizer) if context Rails.logger.warn do "TaskFinalizer: Task #{task.task_id} in unclear state: " \ "execution_status=#{context.execution_status}, " \ "health_status=#{context.health_status}, " \ "ready_steps=#{context.ready_steps}, " \ "failed_steps=#{context.failed_steps}, " \ "in_progress_steps=#{context.in_progress_steps}" end # Default to re-enqueuing with a longer delay for unclear states finalizer.reenqueue_task_with_context( task, context, reason: Constants::TaskFinalization::ReenqueueReasons::CONTINUING_WORKFLOW ) else Rails.logger.error("TaskFinalizer: Task #{task.task_id} has no execution context and unclear state") # Without context, attempt to transition to error state finalizer.error_task( task, nil # No context available ) end end |