tasker-engine 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +443 -0
- data/Rakefile +10 -0
- data/app/controllers/tasker/analytics_controller.rb +179 -0
- data/app/controllers/tasker/application_controller.rb +45 -0
- data/app/controllers/tasker/graphql_controller.rb +193 -0
- data/app/controllers/tasker/handlers_controller.rb +217 -0
- data/app/controllers/tasker/health_controller.rb +229 -0
- data/app/controllers/tasker/metrics_controller.rb +111 -0
- data/app/controllers/tasker/page_sort.rb +97 -0
- data/app/controllers/tasker/task_diagrams_controller.rb +30 -0
- data/app/controllers/tasker/tasks_controller.rb +123 -0
- data/app/controllers/tasker/workflow_steps_controller.rb +69 -0
- data/app/graphql/examples/all_tasks.graphql +22 -0
- data/app/graphql/examples/pending_tasks.graphql +23 -0
- data/app/graphql/tasker/graph_ql_types/annotation_type.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/base_argument.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_connection.rb +11 -0
- data/app/graphql/tasker/graph_ql_types/base_edge.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_enum.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_field.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_input_object.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_interface.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/base_object.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_scalar.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_union.rb +11 -0
- data/app/graphql/tasker/graph_ql_types/dependent_system_object_map_type.rb +18 -0
- data/app/graphql/tasker/graph_ql_types/dependent_system_type.rb +13 -0
- data/app/graphql/tasker/graph_ql_types/mutation_type.rb +16 -0
- data/app/graphql/tasker/graph_ql_types/named_step_type.rb +16 -0
- data/app/graphql/tasker/graph_ql_types/named_task_type.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/named_tasks_named_step_type.rb +19 -0
- data/app/graphql/tasker/graph_ql_types/node_type.rb +12 -0
- data/app/graphql/tasker/graph_ql_types/query_type.rb +20 -0
- data/app/graphql/tasker/graph_ql_types/task_annotation_type.rb +17 -0
- data/app/graphql/tasker/graph_ql_types/task_interface.rb +17 -0
- data/app/graphql/tasker/graph_ql_types/task_type.rb +26 -0
- data/app/graphql/tasker/graph_ql_types/workflow_step_type.rb +154 -0
- data/app/graphql/tasker/graph_ql_types.rb +42 -0
- data/app/graphql/tasker/mutations/base_mutation.rb +13 -0
- data/app/graphql/tasker/mutations/cancel_step.rb +29 -0
- data/app/graphql/tasker/mutations/cancel_task.rb +29 -0
- data/app/graphql/tasker/mutations/create_task.rb +52 -0
- data/app/graphql/tasker/mutations/update_step.rb +36 -0
- data/app/graphql/tasker/mutations/update_task.rb +41 -0
- data/app/graphql/tasker/queries/all_annotation_types.rb +17 -0
- data/app/graphql/tasker/queries/all_tasks.rb +23 -0
- data/app/graphql/tasker/queries/base_query.rb +9 -0
- data/app/graphql/tasker/queries/helpers.rb +16 -0
- data/app/graphql/tasker/queries/one_step.rb +24 -0
- data/app/graphql/tasker/queries/one_task.rb +18 -0
- data/app/graphql/tasker/queries/tasks_by_annotation.rb +31 -0
- data/app/graphql/tasker/queries/tasks_by_status.rb +30 -0
- data/app/graphql/tasker/tasker_rails_schema.rb +52 -0
- data/app/jobs/tasker/application_job.rb +8 -0
- data/app/jobs/tasker/metrics_export_job.rb +252 -0
- data/app/jobs/tasker/task_runner_job.rb +224 -0
- data/app/models/tasker/annotation_type.rb +26 -0
- data/app/models/tasker/application_record.rb +70 -0
- data/app/models/tasker/dependent_system.rb +26 -0
- data/app/models/tasker/dependent_system_object_map.rb +64 -0
- data/app/models/tasker/diagram/edge.rb +106 -0
- data/app/models/tasker/diagram/flowchart.rb +137 -0
- data/app/models/tasker/diagram/node.rb +99 -0
- data/app/models/tasker/named_step.rb +41 -0
- data/app/models/tasker/named_task.rb +121 -0
- data/app/models/tasker/named_tasks_named_step.rb +82 -0
- data/app/models/tasker/step_dag_relationship.rb +65 -0
- data/app/models/tasker/step_readiness_status.rb +59 -0
- data/app/models/tasker/task.rb +424 -0
- data/app/models/tasker/task_annotation.rb +36 -0
- data/app/models/tasker/task_diagram.rb +332 -0
- data/app/models/tasker/task_execution_context.rb +29 -0
- data/app/models/tasker/task_namespace.rb +41 -0
- data/app/models/tasker/task_transition.rb +235 -0
- data/app/models/tasker/workflow_step.rb +461 -0
- data/app/models/tasker/workflow_step_edge.rb +94 -0
- data/app/models/tasker/workflow_step_transition.rb +434 -0
- data/app/serializers/tasker/annotation_type_serializer.rb +8 -0
- data/app/serializers/tasker/handler_serializer.rb +109 -0
- data/app/serializers/tasker/task_annotation_serializer.rb +32 -0
- data/app/serializers/tasker/task_serializer.rb +168 -0
- data/app/serializers/tasker/workflow_step_serializer.rb +27 -0
- data/app/services/tasker/analytics_service.rb +409 -0
- data/app/views/tasker/task/_diagram.html.erb +32 -0
- data/config/initializers/dry_struct.rb +11 -0
- data/config/initializers/statesman.rb +6 -0
- data/config/initializers/tasker_orchestration.rb +17 -0
- data/config/initializers/time_formats.rb +4 -0
- data/config/routes.rb +34 -0
- data/config/tasker/subscriptions/example_integrations.yml +67 -0
- data/config/tasker/system_events.yml +305 -0
- data/db/functions/calculate_dependency_levels_v01.sql +45 -0
- data/db/functions/get_analytics_metrics_v01.sql +137 -0
- data/db/functions/get_slowest_steps_v01.sql +82 -0
- data/db/functions/get_slowest_tasks_v01.sql +96 -0
- data/db/functions/get_step_readiness_status_batch_v01.sql +140 -0
- data/db/functions/get_step_readiness_status_v01.sql +139 -0
- data/db/functions/get_system_health_counts_v01.sql +108 -0
- data/db/functions/get_task_execution_context_v01.sql +108 -0
- data/db/functions/get_task_execution_contexts_batch_v01.sql +104 -0
- data/db/init/schema.sql +2277 -0
- data/db/migrate/20250701165431_initial_tasker_schema.rb +116 -0
- data/db/views/tasker_step_dag_relationships_v01.sql +69 -0
- data/docs/APPLICATION_GENERATOR.md +384 -0
- data/docs/AUTH.md +1780 -0
- data/docs/CIRCUIT_BREAKER.md +224 -0
- data/docs/DEVELOPER_GUIDE.md +2665 -0
- data/docs/EVENT_SYSTEM.md +637 -0
- data/docs/EXECUTION_CONFIGURATION.md +341 -0
- data/docs/FLOW_CHART.md +149 -0
- data/docs/HEALTH.md +542 -0
- data/docs/METRICS.md +731 -0
- data/docs/OPTIMIZATION_PLAN.md +1479 -0
- data/docs/OVERVIEW.md +552 -0
- data/docs/QUICK_START.md +270 -0
- data/docs/REGISTRY_SYSTEMS.md +373 -0
- data/docs/REST_API.md +632 -0
- data/docs/ROADMAP.md +221 -0
- data/docs/SQL_FUNCTIONS.md +1408 -0
- data/docs/TASK_DIAGRAM.md +252 -0
- data/docs/TASK_EXECUTION_CONTROL_FLOW.md +237 -0
- data/docs/TELEMETRY.md +795 -0
- data/docs/TROUBLESHOOTING.md +756 -0
- data/docs/TaskHandlerGenerator.html +255 -0
- data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +907 -0
- data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1236 -0
- data/docs/Tasker/Analysis.html +117 -0
- data/docs/Tasker/AnalyticsController.html +450 -0
- data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +816 -0
- data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +586 -0
- data/docs/Tasker/AnalyticsService.html +2221 -0
- data/docs/Tasker/AnnotationType.html +137 -0
- data/docs/Tasker/AnnotationTypeSerializer.html +124 -0
- data/docs/Tasker/ApplicationController.html +147 -0
- data/docs/Tasker/ApplicationJob.html +128 -0
- data/docs/Tasker/ApplicationRecord.html +378 -0
- data/docs/Tasker/Authentication/AuthenticationError.html +124 -0
- data/docs/Tasker/Authentication/ConfigurationError.html +124 -0
- data/docs/Tasker/Authentication/Coordinator.html +242 -0
- data/docs/Tasker/Authentication/Interface.html +560 -0
- data/docs/Tasker/Authentication/InterfaceError.html +124 -0
- data/docs/Tasker/Authentication/NoneAuthenticator.html +338 -0
- data/docs/Tasker/Authentication.html +119 -0
- data/docs/Tasker/Authorization/AuthorizationError.html +139 -0
- data/docs/Tasker/Authorization/BaseCoordinator.html +927 -0
- data/docs/Tasker/Authorization/ConfigurationError.html +153 -0
- data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +428 -0
- data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +365 -0
- data/docs/Tasker/Authorization/ResourceConstants.html +146 -0
- data/docs/Tasker/Authorization/ResourceRegistry.html +882 -0
- data/docs/Tasker/Authorization/UnauthorizedError.html +153 -0
- data/docs/Tasker/Authorization.html +582 -0
- data/docs/Tasker/CacheCapabilities.html +167 -0
- data/docs/Tasker/CacheStrategy.html +1297 -0
- data/docs/Tasker/Concerns/Authenticatable.html +116 -0
- data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +256 -0
- data/docs/Tasker/Concerns/Authorizable.html +816 -0
- data/docs/Tasker/Concerns/ControllerAuthorizable.html +157 -0
- data/docs/Tasker/Concerns/EventPublisher.html +4023 -0
- data/docs/Tasker/Concerns/IdempotentStateTransitions.html +806 -0
- data/docs/Tasker/Concerns/LifecycleEventHelpers.html +129 -0
- data/docs/Tasker/Concerns/OrchestrationPublisher.html +129 -0
- data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1075 -0
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +191 -0
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +126 -0
- data/docs/Tasker/Concerns/StateMachineBase.html +153 -0
- data/docs/Tasker/Concerns/StructuredLogging.html +1413 -0
- data/docs/Tasker/Concerns.html +117 -0
- data/docs/Tasker/Configuration/AuthConfiguration.html +1023 -0
- data/docs/Tasker/Configuration/ConfigurationProxy.html +581 -0
- data/docs/Tasker/Configuration/DatabaseConfiguration.html +475 -0
- data/docs/Tasker/Configuration/EngineConfiguration.html +1265 -0
- data/docs/Tasker/Configuration/HealthConfiguration.html +791 -0
- data/docs/Tasker/Configuration/TelemetryConfiguration.html +1308 -0
- data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +388 -0
- data/docs/Tasker/Configuration.html +1669 -0
- data/docs/Tasker/ConfigurationError.html +143 -0
- data/docs/Tasker/ConfiguredTask.html +514 -0
- data/docs/Tasker/Constants/EventDefinitions.html +590 -0
- data/docs/Tasker/Constants/LifecycleEvents.html +137 -0
- data/docs/Tasker/Constants/ObservabilityEvents/Step.html +152 -0
- data/docs/Tasker/Constants/ObservabilityEvents/Task.html +142 -0
- data/docs/Tasker/Constants/ObservabilityEvents.html +126 -0
- data/docs/Tasker/Constants/RegistryEvents.html +285 -0
- data/docs/Tasker/Constants/StepEvents.html +177 -0
- data/docs/Tasker/Constants/TaskEvents.html +167 -0
- data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +207 -0
- data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +191 -0
- data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +207 -0
- data/docs/Tasker/Constants/TaskExecution.html +126 -0
- data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +132 -0
- data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +207 -0
- data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +239 -0
- data/docs/Tasker/Constants/TaskFinalization.html +126 -0
- data/docs/Tasker/Constants/TaskStatuses.html +223 -0
- data/docs/Tasker/Constants/TestEvents.html +163 -0
- data/docs/Tasker/Constants/WorkflowEvents.html +222 -0
- data/docs/Tasker/Constants/WorkflowStepStatuses.html +223 -0
- data/docs/Tasker/Constants.html +561 -0
- data/docs/Tasker/DependentSystem.html +137 -0
- data/docs/Tasker/DependentSystemObjectMap.html +250 -0
- data/docs/Tasker/DetectorRegistry.html +598 -0
- data/docs/Tasker/Diagram/Edge.html +1191 -0
- data/docs/Tasker/Diagram/Flowchart.html +1539 -0
- data/docs/Tasker/Diagram/Node.html +1165 -0
- data/docs/Tasker/Diagram.html +117 -0
- data/docs/Tasker/Engine.html +215 -0
- data/docs/Tasker/Error.html +139 -0
- data/docs/Tasker/Events/Bus.html +1226 -0
- data/docs/Tasker/Events/Catalog/CatalogPrinter.html +258 -0
- data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +276 -0
- data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +294 -0
- data/docs/Tasker/Events/Catalog.html +1291 -0
- data/docs/Tasker/Events/CustomRegistry.html +943 -0
- data/docs/Tasker/Events/DefinitionLoader.html +575 -0
- data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +286 -0
- data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +312 -0
- data/docs/Tasker/Events/EventPayloadBuilder.html +664 -0
- data/docs/Tasker/Events/Publisher.html +365 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1128 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +270 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +266 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +2556 -0
- data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +723 -0
- data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +2251 -0
- data/docs/Tasker/Events/Subscribers.html +117 -0
- data/docs/Tasker/Events/SubscriptionLoader.html +493 -0
- data/docs/Tasker/Events.html +294 -0
- data/docs/Tasker/EventsGenerator.html +459 -0
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +412 -0
- data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +598 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +453 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +453 -0
- data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1457 -0
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +370 -0
- data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1250 -0
- data/docs/Tasker/Functions/FunctionWrapper.html +479 -0
- data/docs/Tasker/Functions.html +117 -0
- data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +244 -0
- data/docs/Tasker/Generators/AuthenticatorGenerator.html +373 -0
- data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +430 -0
- data/docs/Tasker/Generators/SubscriberGenerator.html +377 -0
- data/docs/Tasker/Generators/TaskHandlerGenerator.html +263 -0
- data/docs/Tasker/Generators.html +117 -0
- data/docs/Tasker/GraphQLTypes/AnnotationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/BaseArgument.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseConnection.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseEdge.html +130 -0
- data/docs/Tasker/GraphQLTypes/BaseEnum.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseField.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseInputObject.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseInterface.html +116 -0
- data/docs/Tasker/GraphQLTypes/BaseObject.html +128 -0
- data/docs/Tasker/GraphQLTypes/BaseScalar.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseUnion.html +124 -0
- data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +132 -0
- data/docs/Tasker/GraphQLTypes/DependentSystemType.html +132 -0
- data/docs/Tasker/GraphQLTypes/MutationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedStepType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedTaskType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NodeType.html +118 -0
- data/docs/Tasker/GraphQLTypes/QueryType.html +139 -0
- data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/TaskInterface.html +111 -0
- data/docs/Tasker/GraphQLTypes/TaskType.html +201 -0
- data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +694 -0
- data/docs/Tasker/GraphQLTypes.html +130 -0
- data/docs/Tasker/GraphqlController.html +251 -0
- data/docs/Tasker/HandlerFactory.html +1518 -0
- data/docs/Tasker/HandlerSerializer.html +682 -0
- data/docs/Tasker/HandlersController.html +574 -0
- data/docs/Tasker/HashIdentityStrategy.html +278 -0
- data/docs/Tasker/Health/ReadinessChecker.html +712 -0
- data/docs/Tasker/Health/StatusChecker.html +653 -0
- data/docs/Tasker/Health.html +117 -0
- data/docs/Tasker/HealthController.html +523 -0
- data/docs/Tasker/IdentityStrategy.html +276 -0
- data/docs/Tasker/InvalidTaskHandlerConfig.html +135 -0
- data/docs/Tasker/LifecycleEvents/Events/Step.html +162 -0
- data/docs/Tasker/LifecycleEvents/Events/Task.html +162 -0
- data/docs/Tasker/LifecycleEvents/Events.html +204 -0
- data/docs/Tasker/LifecycleEvents/Publisher.html +132 -0
- data/docs/Tasker/LifecycleEvents.html +799 -0
- data/docs/Tasker/Logging/CorrelationIdGenerator.html +688 -0
- data/docs/Tasker/Logging.html +115 -0
- data/docs/Tasker/MetricsController.html +293 -0
- data/docs/Tasker/MetricsExportJob.html +414 -0
- data/docs/Tasker/Mutations/BaseMutation.html +128 -0
- data/docs/Tasker/Mutations/CancelStep.html +219 -0
- data/docs/Tasker/Mutations/CancelTask.html +221 -0
- data/docs/Tasker/Mutations/CreateTask.html +243 -0
- data/docs/Tasker/Mutations/UpdateStep.html +243 -0
- data/docs/Tasker/Mutations/UpdateTask.html +243 -0
- data/docs/Tasker/Mutations.html +117 -0
- data/docs/Tasker/NamedStep.html +216 -0
- data/docs/Tasker/NamedTask.html +910 -0
- data/docs/Tasker/NamedTasksNamedStep.html +435 -0
- data/docs/Tasker/Orchestration/BackoffCalculator.html +404 -0
- data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +258 -0
- data/docs/Tasker/Orchestration/ConnectionBuilder.html +435 -0
- data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +513 -0
- data/docs/Tasker/Orchestration/Coordinator.html +641 -0
- data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1045 -0
- data/docs/Tasker/Orchestration/Orchestrator.html +679 -0
- data/docs/Tasker/Orchestration/PluginIntegration.html +1127 -0
- data/docs/Tasker/Orchestration/ResponseProcessor.html +504 -0
- data/docs/Tasker/Orchestration/RetryHeaderParser.html +304 -0
- data/docs/Tasker/Orchestration/StepExecutor.html +995 -0
- data/docs/Tasker/Orchestration/StepSequenceFactory.html +644 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +264 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +254 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +556 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +348 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +286 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +432 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +296 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +314 -0
- data/docs/Tasker/Orchestration/TaskFinalizer.html +1212 -0
- data/docs/Tasker/Orchestration/TaskInitializer.html +766 -0
- data/docs/Tasker/Orchestration/TaskReenqueuer.html +506 -0
- data/docs/Tasker/Orchestration/ViableStepDiscovery.html +442 -0
- data/docs/Tasker/Orchestration/WorkflowCoordinator.html +510 -0
- data/docs/Tasker/Orchestration.html +130 -0
- data/docs/Tasker/PageSort/PageSortParamsBuilder.html +296 -0
- data/docs/Tasker/PageSort.html +247 -0
- data/docs/Tasker/PermanentError.html +518 -0
- data/docs/Tasker/ProceduralError.html +147 -0
- data/docs/Tasker/Queries/AllAnnotationTypes.html +217 -0
- data/docs/Tasker/Queries/AllTasks.html +221 -0
- data/docs/Tasker/Queries/BaseQuery.html +128 -0
- data/docs/Tasker/Queries/Helpers.html +187 -0
- data/docs/Tasker/Queries/OneStep.html +225 -0
- data/docs/Tasker/Queries/OneTask.html +217 -0
- data/docs/Tasker/Queries/TasksByAnnotation.html +231 -0
- data/docs/Tasker/Queries/TasksByStatus.html +233 -0
- data/docs/Tasker/Queries.html +119 -0
- data/docs/Tasker/Railtie.html +124 -0
- data/docs/Tasker/Registry/BaseRegistry.html +1690 -0
- data/docs/Tasker/Registry/EventPublisher.html +667 -0
- data/docs/Tasker/Registry/InterfaceValidator.html +569 -0
- data/docs/Tasker/Registry/RegistrationError.html +132 -0
- data/docs/Tasker/Registry/RegistryError.html +139 -0
- data/docs/Tasker/Registry/StatisticsCollector.html +841 -0
- data/docs/Tasker/Registry/SubscriberRegistry.html +1504 -0
- data/docs/Tasker/Registry/ValidationError.html +132 -0
- data/docs/Tasker/Registry.html +119 -0
- data/docs/Tasker/RetryableError.html +515 -0
- data/docs/Tasker/StateMachine/Compatibility.html +282 -0
- data/docs/Tasker/StateMachine/InvalidStateTransition.html +135 -0
- data/docs/Tasker/StateMachine/StepStateMachine/StandardizedPayloadBuilder.html +260 -0
- data/docs/Tasker/StateMachine/StepStateMachine.html +2215 -0
- data/docs/Tasker/StateMachine/TaskStateMachine.html +734 -0
- data/docs/Tasker/StateMachine.html +602 -0
- data/docs/Tasker/StepDagRelationship.html +657 -0
- data/docs/Tasker/StepHandler/Api/Config.html +1091 -0
- data/docs/Tasker/StepHandler/Api.html +884 -0
- data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +321 -0
- data/docs/Tasker/StepHandler/Base.html +970 -0
- data/docs/Tasker/StepHandler.html +119 -0
- data/docs/Tasker/StepReadinessStatus.html +836 -0
- data/docs/Tasker/Task.html +2575 -0
- data/docs/Tasker/TaskAnnotation.html +137 -0
- data/docs/Tasker/TaskAnnotationSerializer.html +124 -0
- data/docs/Tasker/TaskBuilder/StepNameValidator.html +264 -0
- data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +264 -0
- data/docs/Tasker/TaskBuilder.html +764 -0
- data/docs/Tasker/TaskDiagram/StepToStepEdgeBuilder.html +260 -0
- data/docs/Tasker/TaskDiagram/TaskToRootStepEdgeBuilder.html +290 -0
- data/docs/Tasker/TaskDiagram.html +548 -0
- data/docs/Tasker/TaskDiagramsController.html +240 -0
- data/docs/Tasker/TaskExecutionContext.html +469 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +238 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +254 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +988 -0
- data/docs/Tasker/TaskHandler/ClassMethods.html +357 -0
- data/docs/Tasker/TaskHandler/InstanceMethods.html +1396 -0
- data/docs/Tasker/TaskHandler/StepGroup.html +1748 -0
- data/docs/Tasker/TaskHandler.html +271 -0
- data/docs/Tasker/TaskNamespace.html +312 -0
- data/docs/Tasker/TaskRunnerJob.html +406 -0
- data/docs/Tasker/TaskSerializer.html +474 -0
- data/docs/Tasker/TaskTransition.html +1517 -0
- data/docs/Tasker/TaskWorkflowSummary.html +988 -0
- data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +132 -0
- data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +139 -0
- data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +132 -0
- data/docs/Tasker/TaskerRailsSchema.html +384 -0
- data/docs/Tasker/TasksController.html +595 -0
- data/docs/Tasker/Telemetry/EventMapping.html +1307 -0
- data/docs/Tasker/Telemetry/EventRouter.html +2178 -0
- data/docs/Tasker/Telemetry/Events/ExportEvents.html +246 -0
- data/docs/Tasker/Telemetry/Events.html +115 -0
- data/docs/Tasker/Telemetry/ExportCoordinator/DistributedLockTimeoutError.html +135 -0
- data/docs/Tasker/Telemetry/ExportCoordinator.html +2137 -0
- data/docs/Tasker/Telemetry/IntelligentCacheManager.html +1083 -0
- data/docs/Tasker/Telemetry/LogBackend.html +1088 -0
- data/docs/Tasker/Telemetry/MetricTypes/Counter.html +1054 -0
- data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +1270 -0
- data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +1492 -0
- data/docs/Tasker/Telemetry/MetricTypes.html +153 -0
- data/docs/Tasker/Telemetry/MetricsBackend.html +2510 -0
- data/docs/Tasker/Telemetry/MetricsExportService.html +578 -0
- data/docs/Tasker/Telemetry/PluginRegistry.html +1774 -0
- data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1835 -0
- data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +768 -0
- data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +747 -0
- data/docs/Tasker/Telemetry/Plugins.html +117 -0
- data/docs/Tasker/Telemetry/PrometheusExporter.html +481 -0
- data/docs/Tasker/Telemetry/TraceBackend.html +891 -0
- data/docs/Tasker/Telemetry.html +130 -0
- data/docs/Tasker/Types/AuthConfig.html +886 -0
- data/docs/Tasker/Types/BackoffConfig.html +1063 -0
- data/docs/Tasker/Types/BaseConfig.html +227 -0
- data/docs/Tasker/Types/CacheConfig.html +1731 -0
- data/docs/Tasker/Types/DatabaseConfig.html +388 -0
- data/docs/Tasker/Types/DependencyGraph.html +526 -0
- data/docs/Tasker/Types/DependencyGraphConfig.html +753 -0
- data/docs/Tasker/Types/EngineConfig.html +1181 -0
- data/docs/Tasker/Types/ExecutionConfig.html +1963 -0
- data/docs/Tasker/Types/GraphEdge.html +517 -0
- data/docs/Tasker/Types/GraphMetadata.html +781 -0
- data/docs/Tasker/Types/GraphNode.html +694 -0
- data/docs/Tasker/Types/HealthConfig.html +784 -0
- data/docs/Tasker/Types/StepSequence.html +353 -0
- data/docs/Tasker/Types/StepTemplate.html +1193 -0
- data/docs/Tasker/Types/TaskRequest.html +1179 -0
- data/docs/Tasker/Types/TelemetryConfig.html +2746 -0
- data/docs/Tasker/Types.html +154 -0
- data/docs/Tasker/WorkflowStep/StepFinder.html +282 -0
- data/docs/Tasker/WorkflowStep.html +2724 -0
- data/docs/Tasker/WorkflowStepEdge.html +304 -0
- data/docs/Tasker/WorkflowStepSerializer.html +305 -0
- data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +282 -0
- data/docs/Tasker/WorkflowStepTransition.html +2201 -0
- data/docs/Tasker/WorkflowStepsController.html +462 -0
- data/docs/Tasker.html +452 -0
- data/docs/VISION.md +584 -0
- data/docs/WHY.md +21 -0
- data/docs/_index.html +2375 -0
- data/docs/class_list.html +54 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +503 -0
- data/docs/events/migration_plan_outcomes.md +80 -0
- data/docs/file.README.html +541 -0
- data/docs/file_list.html +59 -0
- data/docs/frames.html +22 -0
- data/docs/index.html +541 -0
- data/docs/js/app.js +344 -0
- data/docs/js/full_list.js +242 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +9182 -0
- data/docs/top-level-namespace.html +110 -0
- data/lib/generators/tasker/authenticator_generator.rb +301 -0
- data/lib/generators/tasker/authorization_coordinator_generator.rb +139 -0
- data/lib/generators/tasker/events_generator.rb +91 -0
- data/lib/generators/tasker/subscriber_generator.rb +107 -0
- data/lib/generators/tasker/task_handler_generator.rb +138 -0
- data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +113 -0
- data/lib/generators/tasker/templates/api_token_authenticator_spec.rb.erb +144 -0
- data/lib/generators/tasker/templates/authorization_coordinator.rb.erb +95 -0
- data/lib/generators/tasker/templates/authorization_coordinator_spec.rb.erb +142 -0
- data/lib/generators/tasker/templates/custom_authenticator.rb.erb +108 -0
- data/lib/generators/tasker/templates/custom_authenticator_spec.rb.erb +162 -0
- data/lib/generators/tasker/templates/custom_events.yml.erb +62 -0
- data/lib/generators/tasker/templates/custom_subscriber.rb.erb +72 -0
- data/lib/generators/tasker/templates/devise_authenticator.rb.erb +101 -0
- data/lib/generators/tasker/templates/devise_authenticator_spec.rb.erb +126 -0
- data/lib/generators/tasker/templates/initialize.rb.erb +202 -0
- data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +144 -0
- data/lib/generators/tasker/templates/jwt_authenticator_spec.rb.erb +298 -0
- data/lib/generators/tasker/templates/metrics_subscriber.rb.erb +258 -0
- data/lib/generators/tasker/templates/metrics_subscriber_spec.rb.erb +308 -0
- data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +135 -0
- data/lib/generators/tasker/templates/omniauth_authenticator_spec.rb.erb +196 -0
- data/lib/generators/tasker/templates/opentelemetry_initializer.rb +52 -0
- data/lib/generators/tasker/templates/subscriber.rb.erb +64 -0
- data/lib/generators/tasker/templates/subscriber_spec.rb.erb +80 -0
- data/lib/generators/tasker/templates/task_config.yaml.erb +117 -0
- data/lib/generators/tasker/templates/task_handler.rb.erb +59 -0
- data/lib/generators/tasker/templates/task_handler_spec.rb.erb +159 -0
- data/lib/tasker/analysis/runtime_graph_analyzer.rb +1168 -0
- data/lib/tasker/analysis/template_graph_analyzer.rb +328 -0
- data/lib/tasker/authentication/coordinator.rb +78 -0
- data/lib/tasker/authentication/errors.rb +9 -0
- data/lib/tasker/authentication/interface.rb +36 -0
- data/lib/tasker/authentication/none_authenticator.rb +26 -0
- data/lib/tasker/authorization/base_coordinator.rb +112 -0
- data/lib/tasker/authorization/errors.rb +26 -0
- data/lib/tasker/authorization/resource_constants.rb +74 -0
- data/lib/tasker/authorization/resource_registry.rb +143 -0
- data/lib/tasker/authorization.rb +75 -0
- data/lib/tasker/cache_capabilities.rb +131 -0
- data/lib/tasker/cache_strategy.rb +469 -0
- data/lib/tasker/concerns/authenticatable.rb +41 -0
- data/lib/tasker/concerns/authorizable.rb +204 -0
- data/lib/tasker/concerns/controller_authorizable.rb +124 -0
- data/lib/tasker/concerns/event_publisher.rb +716 -0
- data/lib/tasker/concerns/idempotent_state_transitions.rb +128 -0
- data/lib/tasker/concerns/state_machine_base.rb +218 -0
- data/lib/tasker/concerns/structured_logging.rb +387 -0
- data/lib/tasker/configuration.rb +325 -0
- data/lib/tasker/constants/event_definitions.rb +147 -0
- data/lib/tasker/constants/registry_events.rb +54 -0
- data/lib/tasker/constants.rb +417 -0
- data/lib/tasker/engine.rb +90 -0
- data/lib/tasker/errors.rb +90 -0
- data/lib/tasker/events/catalog.rb +432 -0
- data/lib/tasker/events/custom_registry.rb +175 -0
- data/lib/tasker/events/definition_loader.rb +199 -0
- data/lib/tasker/events/event_payload_builder.rb +461 -0
- data/lib/tasker/events/publisher.rb +149 -0
- data/lib/tasker/events/subscribers/base_subscriber.rb +601 -0
- data/lib/tasker/events/subscribers/metrics_subscriber.rb +120 -0
- data/lib/tasker/events/subscribers/telemetry_subscriber.rb +462 -0
- data/lib/tasker/events/subscription_loader.rb +161 -0
- data/lib/tasker/events.rb +37 -0
- data/lib/tasker/functions/function_based_analytics_metrics.rb +103 -0
- data/lib/tasker/functions/function_based_dependency_levels.rb +54 -0
- data/lib/tasker/functions/function_based_slowest_steps.rb +84 -0
- data/lib/tasker/functions/function_based_slowest_tasks.rb +84 -0
- data/lib/tasker/functions/function_based_step_readiness_status.rb +183 -0
- data/lib/tasker/functions/function_based_system_health_counts.rb +94 -0
- data/lib/tasker/functions/function_based_task_execution_context.rb +148 -0
- data/lib/tasker/functions/function_wrapper.rb +42 -0
- data/lib/tasker/functions.rb +12 -0
- data/lib/tasker/handler_factory.rb +322 -0
- data/lib/tasker/health/readiness_checker.rb +186 -0
- data/lib/tasker/health/status_checker.rb +203 -0
- data/lib/tasker/identity_strategy.rb +38 -0
- data/lib/tasker/logging/correlation_id_generator.rb +120 -0
- data/lib/tasker/orchestration/backoff_calculator.rb +184 -0
- data/lib/tasker/orchestration/connection_builder.rb +122 -0
- data/lib/tasker/orchestration/connection_pool_intelligence.rb +177 -0
- data/lib/tasker/orchestration/coordinator.rb +119 -0
- data/lib/tasker/orchestration/future_state_analyzer.rb +137 -0
- data/lib/tasker/orchestration/plugin_integration.rb +124 -0
- data/lib/tasker/orchestration/response_processor.rb +168 -0
- data/lib/tasker/orchestration/retry_header_parser.rb +78 -0
- data/lib/tasker/orchestration/step_executor.rb +941 -0
- data/lib/tasker/orchestration/step_sequence_factory.rb +67 -0
- data/lib/tasker/orchestration/task_finalizer.rb +564 -0
- data/lib/tasker/orchestration/task_initializer.rb +140 -0
- data/lib/tasker/orchestration/task_reenqueuer.rb +71 -0
- data/lib/tasker/orchestration/viable_step_discovery.rb +65 -0
- data/lib/tasker/orchestration/workflow_coordinator.rb +294 -0
- data/lib/tasker/orchestration.rb +45 -0
- data/lib/tasker/railtie.rb +9 -0
- data/lib/tasker/registry/base_registry.rb +177 -0
- data/lib/tasker/registry/event_publisher.rb +91 -0
- data/lib/tasker/registry/interface_validator.rb +140 -0
- data/lib/tasker/registry/statistics_collector.rb +381 -0
- data/lib/tasker/registry/subscriber_registry.rb +285 -0
- data/lib/tasker/registry.rb +22 -0
- data/lib/tasker/state_machine/step_state_machine.rb +508 -0
- data/lib/tasker/state_machine/task_state_machine.rb +192 -0
- data/lib/tasker/state_machine.rb +83 -0
- data/lib/tasker/step_handler/api.rb +410 -0
- data/lib/tasker/step_handler/base.rb +206 -0
- data/lib/tasker/task_builder.rb +432 -0
- data/lib/tasker/task_handler/class_methods.rb +324 -0
- data/lib/tasker/task_handler/instance_methods.rb +293 -0
- data/lib/tasker/task_handler/step_group.rb +182 -0
- data/lib/tasker/task_handler.rb +43 -0
- data/lib/tasker/telemetry/event_mapping.rb +126 -0
- data/lib/tasker/telemetry/event_router.rb +318 -0
- data/lib/tasker/telemetry/events/export_events.rb +38 -0
- data/lib/tasker/telemetry/export_coordinator.rb +497 -0
- data/lib/tasker/telemetry/intelligent_cache_manager.rb +508 -0
- data/lib/tasker/telemetry/log_backend.rb +224 -0
- data/lib/tasker/telemetry/metric_types.rb +368 -0
- data/lib/tasker/telemetry/metrics_backend.rb +1227 -0
- data/lib/tasker/telemetry/metrics_export_service.rb +392 -0
- data/lib/tasker/telemetry/plugin_registry.rb +333 -0
- data/lib/tasker/telemetry/plugins/base_exporter.rb +246 -0
- data/lib/tasker/telemetry/plugins/csv_exporter.rb +198 -0
- data/lib/tasker/telemetry/plugins/json_exporter.rb +141 -0
- data/lib/tasker/telemetry/prometheus_exporter.rb +249 -0
- data/lib/tasker/telemetry/trace_backend.rb +186 -0
- data/lib/tasker/telemetry.rb +59 -0
- data/lib/tasker/types/auth_config.rb +81 -0
- data/lib/tasker/types/backoff_config.rb +142 -0
- data/lib/tasker/types/cache_config.rb +257 -0
- data/lib/tasker/types/database_config.rb +39 -0
- data/lib/tasker/types/dependency_graph.rb +225 -0
- data/lib/tasker/types/dependency_graph_config.rb +149 -0
- data/lib/tasker/types/engine_config.rb +131 -0
- data/lib/tasker/types/execution_config.rb +289 -0
- data/lib/tasker/types/health_config.rb +84 -0
- data/lib/tasker/types/step_sequence.rb +24 -0
- data/lib/tasker/types/step_template.rb +63 -0
- data/lib/tasker/types/task_request.rb +60 -0
- data/lib/tasker/types/telemetry_config.rb +273 -0
- data/lib/tasker/types.rb +64 -0
- data/lib/tasker/version.rb +7 -0
- data/lib/tasker.rb +82 -0
- data/lib/tasks/tasker_tasks.rake +302 -0
- metadata +958 -0
@@ -0,0 +1,1212 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Class: Tasker::Orchestration::TaskFinalizer
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.37
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "Tasker::Orchestration::TaskFinalizer";
|
19
|
+
relpath = '../../';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="../../class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="../../_index.html">Index (T)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../Tasker.html" title="Tasker (module)">Tasker</a></span></span> » <span class='title'><span class='object_link'><a href="../Orchestration.html" title="Tasker::Orchestration (module)">Orchestration</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">TaskFinalizer</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Class: Tasker::Orchestration::TaskFinalizer
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
<dl>
|
70
|
+
<dt>Inherits:</dt>
|
71
|
+
<dd>
|
72
|
+
<span class="inheritName">Object</span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next">Tasker::Orchestration::TaskFinalizer</li>
|
78
|
+
|
79
|
+
</ul>
|
80
|
+
<a href="#" class="inheritanceTree">show all</a>
|
81
|
+
|
82
|
+
</dd>
|
83
|
+
</dl>
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
<dl>
|
91
|
+
<dt>Includes:</dt>
|
92
|
+
<dd><span class='object_link'><a href="../Concerns/EventPublisher.html" title="Tasker::Concerns::EventPublisher (module)">Concerns::EventPublisher</a></span>, <span class='object_link'><a href="../Concerns/IdempotentStateTransitions.html" title="Tasker::Concerns::IdempotentStateTransitions (module)">Concerns::IdempotentStateTransitions</a></span></dd>
|
93
|
+
</dl>
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
<dl>
|
101
|
+
<dt>Defined in:</dt>
|
102
|
+
<dd>lib/tasker/orchestration/task_finalizer.rb</dd>
|
103
|
+
</dl>
|
104
|
+
|
105
|
+
</div>
|
106
|
+
|
107
|
+
<h2>Overview</h2><div class="docstring">
|
108
|
+
<div class="discussion">
|
109
|
+
|
110
|
+
<p>TaskFinalizer handles task completion and finalization logic</p>
|
111
|
+
|
112
|
+
<p>This class provides implementation for task finalization while firing lifecycle events for observability. Enhanced with TaskExecutionContext integration for intelligent decision making.</p>
|
113
|
+
|
114
|
+
|
115
|
+
</div>
|
116
|
+
</div>
|
117
|
+
<div class="tags">
|
118
|
+
|
119
|
+
|
120
|
+
</div><h2>Defined Under Namespace</h2>
|
121
|
+
<p class="children">
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="TaskFinalizer/BlockageChecker.html" title="Tasker::Orchestration::TaskFinalizer::BlockageChecker (class)">BlockageChecker</a></span>, <span class='object_link'><a href="TaskFinalizer/ContextManager.html" title="Tasker::Orchestration::TaskFinalizer::ContextManager (class)">ContextManager</a></span>, <span class='object_link'><a href="TaskFinalizer/DelayCalculator.html" title="Tasker::Orchestration::TaskFinalizer::DelayCalculator (class)">DelayCalculator</a></span>, <span class='object_link'><a href="TaskFinalizer/FinalizationDecisionMaker.html" title="Tasker::Orchestration::TaskFinalizer::FinalizationDecisionMaker (class)">FinalizationDecisionMaker</a></span>, <span class='object_link'><a href="TaskFinalizer/FinalizationProcessor.html" title="Tasker::Orchestration::TaskFinalizer::FinalizationProcessor (class)">FinalizationProcessor</a></span>, <span class='object_link'><a href="TaskFinalizer/ReasonDeterminer.html" title="Tasker::Orchestration::TaskFinalizer::ReasonDeterminer (class)">ReasonDeterminer</a></span>, <span class='object_link'><a href="TaskFinalizer/ReenqueueManager.html" title="Tasker::Orchestration::TaskFinalizer::ReenqueueManager (class)">ReenqueueManager</a></span>, <span class='object_link'><a href="TaskFinalizer/UnclearStateHandler.html" title="Tasker::Orchestration::TaskFinalizer::UnclearStateHandler (class)">UnclearStateHandler</a></span>
|
127
|
+
|
128
|
+
|
129
|
+
</p>
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
<h2>
|
139
|
+
Instance Method Summary
|
140
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
141
|
+
</h2>
|
142
|
+
|
143
|
+
<ul class="summary">
|
144
|
+
|
145
|
+
<li class="public ">
|
146
|
+
<span class="summary_signature">
|
147
|
+
|
148
|
+
<a href="#blocked_by_errors%3F-instance_method" title="#blocked_by_errors? (instance method)">#<strong>blocked_by_errors?</strong>(task, _sequence, _processed_steps) ⇒ Boolean </a>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
</span>
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
<span class="summary_desc"><div class='inline'>
|
163
|
+
<p>Check if the task is blocked by errors.</p>
|
164
|
+
</div></span>
|
165
|
+
|
166
|
+
</li>
|
167
|
+
|
168
|
+
|
169
|
+
<li class="public ">
|
170
|
+
<span class="summary_signature">
|
171
|
+
|
172
|
+
<a href="#complete_task-instance_method" title="#complete_task (instance method)">#<strong>complete_task</strong>(task, context) ⇒ Object </a>
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
</span>
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
<span class="summary_desc"><div class='inline'>
|
187
|
+
<p>Service method exposed for FinalizationDecisionMaker.</p>
|
188
|
+
</div></span>
|
189
|
+
|
190
|
+
</li>
|
191
|
+
|
192
|
+
|
193
|
+
<li class="public ">
|
194
|
+
<span class="summary_signature">
|
195
|
+
|
196
|
+
<a href="#error_task-instance_method" title="#error_task (instance method)">#<strong>error_task</strong>(task, context) ⇒ Object </a>
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
</span>
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
<span class="summary_desc"><div class='inline'>
|
211
|
+
<p>Service method exposed for FinalizationDecisionMaker.</p>
|
212
|
+
</div></span>
|
213
|
+
|
214
|
+
</li>
|
215
|
+
|
216
|
+
|
217
|
+
<li class="public ">
|
218
|
+
<span class="summary_signature">
|
219
|
+
|
220
|
+
<a href="#finalize_task-instance_method" title="#finalize_task (instance method)">#<strong>finalize_task</strong>(task_id, synchronous: false) ⇒ Object </a>
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
</span>
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
<span class="summary_desc"><div class='inline'>
|
235
|
+
<p>Finalize a task based on its current state using TaskExecutionContext.</p>
|
236
|
+
</div></span>
|
237
|
+
|
238
|
+
</li>
|
239
|
+
|
240
|
+
|
241
|
+
<li class="public ">
|
242
|
+
<span class="summary_signature">
|
243
|
+
|
244
|
+
<a href="#finalize_task_with_steps-instance_method" title="#finalize_task_with_steps (instance method)">#<strong>finalize_task_with_steps</strong>(task, _sequence, processed_steps) ⇒ Object </a>
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
</span>
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
<span class="summary_desc"><div class='inline'>
|
259
|
+
<p>Finalize a task with processed steps.</p>
|
260
|
+
</div></span>
|
261
|
+
|
262
|
+
</li>
|
263
|
+
|
264
|
+
|
265
|
+
<li class="public ">
|
266
|
+
<span class="summary_signature">
|
267
|
+
|
268
|
+
<a href="#handle_no_viable_steps-instance_method" title="#handle_no_viable_steps (instance method)">#<strong>handle_no_viable_steps</strong>(event) ⇒ Object </a>
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
</span>
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
<span class="summary_desc"><div class='inline'>
|
283
|
+
<p>Handle no viable steps event.</p>
|
284
|
+
</div></span>
|
285
|
+
|
286
|
+
</li>
|
287
|
+
|
288
|
+
|
289
|
+
<li class="public ">
|
290
|
+
<span class="summary_signature">
|
291
|
+
|
292
|
+
<a href="#pending_task-instance_method" title="#pending_task (instance method)">#<strong>pending_task</strong>(task, context, reason: nil) ⇒ Object </a>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
</span>
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
<span class="summary_desc"><div class='inline'>
|
307
|
+
<p>Service method exposed for FinalizationDecisionMaker.</p>
|
308
|
+
</div></span>
|
309
|
+
|
310
|
+
</li>
|
311
|
+
|
312
|
+
|
313
|
+
<li class="public ">
|
314
|
+
<span class="summary_signature">
|
315
|
+
|
316
|
+
<a href="#publish_finalization_completed-instance_method" title="#publish_finalization_completed (instance method)">#<strong>publish_finalization_completed</strong>(task, processed_steps, context) ⇒ Object </a>
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
</span>
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
|
330
|
+
<span class="summary_desc"><div class='inline'>
|
331
|
+
<p>Service method exposed for event publishing.</p>
|
332
|
+
</div></span>
|
333
|
+
|
334
|
+
</li>
|
335
|
+
|
336
|
+
|
337
|
+
<li class="public ">
|
338
|
+
<span class="summary_signature">
|
339
|
+
|
340
|
+
<a href="#publish_finalization_started-instance_method" title="#publish_finalization_started (instance method)">#<strong>publish_finalization_started</strong>(task, processed_steps, context) ⇒ Object </a>
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
</span>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
<span class="summary_desc"><div class='inline'>
|
355
|
+
<p>Service method exposed for event publishing.</p>
|
356
|
+
</div></span>
|
357
|
+
|
358
|
+
</li>
|
359
|
+
|
360
|
+
|
361
|
+
<li class="public ">
|
362
|
+
<span class="summary_signature">
|
363
|
+
|
364
|
+
<a href="#reenqueue_task_with_context-instance_method" title="#reenqueue_task_with_context (instance method)">#<strong>reenqueue_task_with_context</strong>(task, context, reason: nil) ⇒ Object </a>
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
</span>
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
<span class="summary_desc"><div class='inline'>
|
379
|
+
<p>Service method exposed for FinalizationDecisionMaker.</p>
|
380
|
+
</div></span>
|
381
|
+
|
382
|
+
</li>
|
383
|
+
|
384
|
+
|
385
|
+
</ul>
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="../Concerns/EventPublisher.html" title="Tasker::Concerns::EventPublisher (module)">Concerns::EventPublisher</a></span></h3>
|
398
|
+
<p class="inherited"><span class='object_link'><a href="../Concerns/EventPublisher.html#infer_step_event_type_from_state-instance_method" title="Tasker::Concerns::EventPublisher#infer_step_event_type_from_state (method)">#infer_step_event_type_from_state</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_custom_event-instance_method" title="Tasker::Concerns::EventPublisher#publish_custom_event (method)">#publish_custom_event</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_no_viable_steps-instance_method" title="Tasker::Concerns::EventPublisher#publish_no_viable_steps (method)">#publish_no_viable_steps</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_backoff-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_backoff (method)">#publish_step_backoff</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_before_handle-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_before_handle (method)">#publish_step_before_handle</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_cancelled-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_cancelled (method)">#publish_step_cancelled</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_completed-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_completed (method)">#publish_step_completed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_event_for_context-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_event_for_context (method)">#publish_step_event_for_context</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_failed-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_failed (method)">#publish_step_failed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_retry_requested-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_retry_requested (method)">#publish_step_retry_requested</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_step_started-instance_method" title="Tasker::Concerns::EventPublisher#publish_step_started (method)">#publish_step_started</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_steps_execution_completed-instance_method" title="Tasker::Concerns::EventPublisher#publish_steps_execution_completed (method)">#publish_steps_execution_completed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_steps_execution_started-instance_method" title="Tasker::Concerns::EventPublisher#publish_steps_execution_started (method)">#publish_steps_execution_started</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_completed-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_completed (method)">#publish_task_completed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_enqueue-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_enqueue (method)">#publish_task_enqueue</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_failed-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_failed (method)">#publish_task_failed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_finalization_completed-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_finalization_completed (method)">#publish_task_finalization_completed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_finalization_started-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_finalization_started (method)">#publish_task_finalization_started</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_pending_transition-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_pending_transition (method)">#publish_task_pending_transition</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_reenqueue_delayed-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_reenqueue_delayed (method)">#publish_task_reenqueue_delayed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_reenqueue_failed-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_reenqueue_failed (method)">#publish_task_reenqueue_failed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_reenqueue_requested-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_reenqueue_requested (method)">#publish_task_reenqueue_requested</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_reenqueue_started-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_reenqueue_started (method)">#publish_task_reenqueue_started</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_retry_requested-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_retry_requested (method)">#publish_task_retry_requested</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_task_started-instance_method" title="Tasker::Concerns::EventPublisher#publish_task_started (method)">#publish_task_started</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_viable_steps_discovered-instance_method" title="Tasker::Concerns::EventPublisher#publish_viable_steps_discovered (method)">#publish_viable_steps_discovered</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_workflow_state_unclear-instance_method" title="Tasker::Concerns::EventPublisher#publish_workflow_state_unclear (method)">#publish_workflow_state_unclear</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_workflow_step_completed-instance_method" title="Tasker::Concerns::EventPublisher#publish_workflow_step_completed (method)">#publish_workflow_step_completed</a></span>, <span class='object_link'><a href="../Concerns/EventPublisher.html#publish_workflow_task_started-instance_method" title="Tasker::Concerns::EventPublisher#publish_workflow_task_started (method)">#publish_workflow_task_started</a></span></p>
|
399
|
+
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="../Concerns/IdempotentStateTransitions.html" title="Tasker::Concerns::IdempotentStateTransitions (module)">Concerns::IdempotentStateTransitions</a></span></h3>
|
410
|
+
<p class="inherited"><span class='object_link'><a href="../Concerns/IdempotentStateTransitions.html#conditional_transition_to-instance_method" title="Tasker::Concerns::IdempotentStateTransitions#conditional_transition_to (method)">#conditional_transition_to</a></span>, <span class='object_link'><a href="../Concerns/IdempotentStateTransitions.html#in_any_state%3F-instance_method" title="Tasker::Concerns::IdempotentStateTransitions#in_any_state? (method)">#in_any_state?</a></span>, <span class='object_link'><a href="../Concerns/IdempotentStateTransitions.html#safe_current_state-instance_method" title="Tasker::Concerns::IdempotentStateTransitions#safe_current_state (method)">#safe_current_state</a></span>, <span class='object_link'><a href="../Concerns/IdempotentStateTransitions.html#safe_transition_to-instance_method" title="Tasker::Concerns::IdempotentStateTransitions#safe_transition_to (method)">#safe_transition_to</a></span></p>
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
<div id="instance_method_details" class="method_details_list">
|
415
|
+
<h2>Instance Method Details</h2>
|
416
|
+
|
417
|
+
|
418
|
+
<div class="method_details first">
|
419
|
+
<h3 class="signature first" id="blocked_by_errors?-instance_method">
|
420
|
+
|
421
|
+
#<strong>blocked_by_errors?</strong>(task, _sequence, _processed_steps) ⇒ <tt>Boolean</tt>
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
</h3><div class="docstring">
|
428
|
+
<div class="discussion">
|
429
|
+
|
430
|
+
<p>Check if the task is blocked by errors</p>
|
431
|
+
|
432
|
+
|
433
|
+
</div>
|
434
|
+
</div>
|
435
|
+
<div class="tags">
|
436
|
+
<p class="tag_title">Parameters:</p>
|
437
|
+
<ul class="param">
|
438
|
+
|
439
|
+
<li>
|
440
|
+
|
441
|
+
<span class='name'>task</span>
|
442
|
+
|
443
|
+
|
444
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Task.html" title="Tasker::Task (class)">Tasker::Task</a></span></tt>)</span>
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
—
|
449
|
+
<div class='inline'>
|
450
|
+
<p>The task to check</p>
|
451
|
+
</div>
|
452
|
+
|
453
|
+
</li>
|
454
|
+
|
455
|
+
<li>
|
456
|
+
|
457
|
+
<span class='name'>_sequence</span>
|
458
|
+
|
459
|
+
|
460
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Types/StepSequence.html" title="Tasker::Types::StepSequence (class)">Tasker::Types::StepSequence</a></span></tt>)</span>
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
—
|
465
|
+
<div class='inline'>
|
466
|
+
<p>The step sequence (unused)</p>
|
467
|
+
</div>
|
468
|
+
|
469
|
+
</li>
|
470
|
+
|
471
|
+
<li>
|
472
|
+
|
473
|
+
<span class='name'>_processed_steps</span>
|
474
|
+
|
475
|
+
|
476
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="../WorkflowStep.html" title="Tasker::WorkflowStep (class)">Tasker::WorkflowStep</a></span>></tt>)</span>
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
—
|
481
|
+
<div class='inline'>
|
482
|
+
<p>Recently processed steps (unused)</p>
|
483
|
+
</div>
|
484
|
+
|
485
|
+
</li>
|
486
|
+
|
487
|
+
</ul>
|
488
|
+
|
489
|
+
<p class="tag_title">Returns:</p>
|
490
|
+
<ul class="return">
|
491
|
+
|
492
|
+
<li>
|
493
|
+
|
494
|
+
|
495
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
496
|
+
|
497
|
+
|
498
|
+
|
499
|
+
—
|
500
|
+
<div class='inline'>
|
501
|
+
<p>True if task is blocked by errors</p>
|
502
|
+
</div>
|
503
|
+
|
504
|
+
</li>
|
505
|
+
|
506
|
+
</ul>
|
507
|
+
|
508
|
+
</div><table class="source_code">
|
509
|
+
<tr>
|
510
|
+
<td>
|
511
|
+
<pre class="lines">
|
512
|
+
|
513
|
+
|
514
|
+
26
|
515
|
+
27
|
516
|
+
28</pre>
|
517
|
+
</td>
|
518
|
+
<td>
|
519
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 26</span>
|
520
|
+
|
521
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_blocked_by_errors?'>blocked_by_errors?</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid__sequence'>_sequence</span><span class='comma'>,</span> <span class='id identifier rubyid__processed_steps'>_processed_steps</span><span class='rparen'>)</span>
|
522
|
+
<span class='const'><span class='object_link'><a href="TaskFinalizer/BlockageChecker.html" title="Tasker::Orchestration::TaskFinalizer::BlockageChecker (class)">BlockageChecker</a></span></span><span class='period'>.</span><span class='id identifier rubyid_blocked_by_errors?'><span class='object_link'><a href="TaskFinalizer/BlockageChecker.html#blocked_by_errors%3F-class_method" title="Tasker::Orchestration::TaskFinalizer::BlockageChecker.blocked_by_errors? (method)">blocked_by_errors?</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='rparen'>)</span>
|
523
|
+
<span class='kw'>end</span></pre>
|
524
|
+
</td>
|
525
|
+
</tr>
|
526
|
+
</table>
|
527
|
+
</div>
|
528
|
+
|
529
|
+
<div class="method_details ">
|
530
|
+
<h3 class="signature " id="complete_task-instance_method">
|
531
|
+
|
532
|
+
#<strong>complete_task</strong>(task, context) ⇒ <tt>Object</tt>
|
533
|
+
|
534
|
+
|
535
|
+
|
536
|
+
|
537
|
+
|
538
|
+
</h3><div class="docstring">
|
539
|
+
<div class="discussion">
|
540
|
+
|
541
|
+
<p>Service method exposed for FinalizationDecisionMaker</p>
|
542
|
+
|
543
|
+
|
544
|
+
</div>
|
545
|
+
</div>
|
546
|
+
<div class="tags">
|
547
|
+
|
548
|
+
|
549
|
+
</div><table class="source_code">
|
550
|
+
<tr>
|
551
|
+
<td>
|
552
|
+
<pre class="lines">
|
553
|
+
|
554
|
+
|
555
|
+
62
|
556
|
+
63
|
557
|
+
64
|
558
|
+
65
|
559
|
+
66
|
560
|
+
67
|
561
|
+
68
|
562
|
+
69
|
563
|
+
70
|
564
|
+
71
|
565
|
+
72
|
566
|
+
73
|
567
|
+
74
|
568
|
+
75
|
569
|
+
76
|
570
|
+
77
|
571
|
+
78
|
572
|
+
79
|
573
|
+
80
|
574
|
+
81
|
575
|
+
82
|
576
|
+
83
|
577
|
+
84
|
578
|
+
85
|
579
|
+
86
|
580
|
+
87
|
581
|
+
88
|
582
|
+
89
|
583
|
+
90
|
584
|
+
91
|
585
|
+
92
|
586
|
+
93
|
587
|
+
94
|
588
|
+
95
|
589
|
+
96
|
590
|
+
97
|
591
|
+
98
|
592
|
+
99
|
593
|
+
100
|
594
|
+
101
|
595
|
+
102
|
596
|
+
103
|
597
|
+
104
|
598
|
+
105
|
599
|
+
106
|
600
|
+
107
|
601
|
+
108
|
602
|
+
109
|
603
|
+
110
|
604
|
+
111</pre>
|
605
|
+
</td>
|
606
|
+
<td>
|
607
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 62</span>
|
608
|
+
|
609
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_complete_task'>complete_task</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
610
|
+
<span class='id identifier rubyid_payload'>payload</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
611
|
+
<span class='label'>task:</span> <span class='id identifier rubyid_task'>task</span><span class='comma'>,</span>
|
612
|
+
<span class='label'>completed_at:</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='comma'>,</span>
|
613
|
+
<span class='label'>completion_percentage:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_completion_percentage'>completion_percentage</span><span class='comma'>,</span>
|
614
|
+
<span class='label'>total_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_total_steps'>total_steps</span><span class='comma'>,</span>
|
615
|
+
<span class='label'>health_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_health_status'>health_status</span>
|
616
|
+
<span class='rbrace'>}</span>
|
617
|
+
|
618
|
+
<span class='comment'># Ensure task is in in_progress state before transitioning to complete
|
619
|
+
</span> <span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>=</span> <span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_state_machine'>state_machine</span><span class='period'>.</span><span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>||</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#PENDING-constant" title="Tasker::Constants::TaskStatuses::PENDING (constant)">PENDING</a></span></span>
|
620
|
+
|
621
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TaskFinalizer: Task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> current state is </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_current_state'>current_state</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
622
|
+
<span class='comment'># If task is already complete, just publish the event
|
623
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#COMPLETE-constant" title="Tasker::Constants::TaskStatuses::COMPLETE (constant)">COMPLETE</a></span></span>
|
624
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='lbrace'>{</span> <span class='label'>complete:</span> <span class='kw'>true</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
625
|
+
|
626
|
+
<span class='id identifier rubyid_publish_task_completed'>publish_task_completed</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
|
627
|
+
<span class='kw'>return</span>
|
628
|
+
<span class='kw'>end</span>
|
629
|
+
|
630
|
+
<span class='comment'># Handle task in error state - must go through pending first
|
631
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#ERROR-constant" title="Tasker::Constants::TaskStatuses::ERROR (constant)">ERROR</a></span></span>
|
632
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_safe_transition_to'>safe_transition_to</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#PENDING-constant" title="Tasker::Constants::TaskStatuses::PENDING (constant)">PENDING</a></span></span><span class='rparen'>)</span>
|
633
|
+
|
634
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TaskFinalizer: Task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> transitioning from error to pending</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
635
|
+
<span class='comment'># Reset current state to pending for next transition
|
636
|
+
</span> <span class='comment'># This is necessary because the state machine might not allow direct transition from error to complete
|
637
|
+
</span> <span class='comment'># without going through pending first
|
638
|
+
</span> <span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#PENDING-constant" title="Tasker::Constants::TaskStatuses::PENDING (constant)">PENDING</a></span></span>
|
639
|
+
<span class='kw'>end</span>
|
640
|
+
|
641
|
+
<span class='comment'># Ensure task is in in_progress state (transition only if not already there)
|
642
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_current_state'>current_state</span> <span class='op'>!=</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#IN_PROGRESS-constant" title="Tasker::Constants::TaskStatuses::IN_PROGRESS (constant)">IN_PROGRESS</a></span></span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_safe_transition_to'>safe_transition_to</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span>
|
643
|
+
<span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#IN_PROGRESS-constant" title="Tasker::Constants::TaskStatuses::IN_PROGRESS (constant)">IN_PROGRESS</a></span></span><span class='rparen'>)</span>
|
644
|
+
<span class='kw'>return</span>
|
645
|
+
<span class='kw'>end</span>
|
646
|
+
|
647
|
+
<span class='comment'># Now transition to complete - always attempt this transition
|
648
|
+
</span> <span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TaskFinalizer: Task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> transitioning to complete</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
649
|
+
<span class='const'>ActiveRecord</span><span class='op'>::</span><span class='const'>Base</span><span class='period'>.</span><span class='id identifier rubyid_transaction'>transaction</span> <span class='kw'>do</span>
|
650
|
+
<span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_update!'>update!</span><span class='lparen'>(</span><span class='lbrace'>{</span> <span class='label'>complete:</span> <span class='kw'>true</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
651
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_safe_transition_to'>safe_transition_to</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#COMPLETE-constant" title="Tasker::Constants::TaskStatuses::COMPLETE (constant)">COMPLETE</a></span></span><span class='rparen'>)</span>
|
652
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ActiveRecord</span><span class='op'>::</span><span class='const'>Rollback</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Failed to transition task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> to complete state</span><span class='tstring_end'>"</span></span>
|
653
|
+
<span class='kw'>end</span>
|
654
|
+
<span class='kw'>end</span>
|
655
|
+
<span class='id identifier rubyid_publish_task_completed'>publish_task_completed</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
|
656
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TaskFinalizer: Task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> completed successfully (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_total_steps'>total_steps</span><span class='embexpr_end'>}</span><span class='tstring_content'> steps,
|
657
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_completion_percentage'>completion_percentage</span><span class='embexpr_end'>}</span><span class='tstring_content'>% complete)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
658
|
+
<span class='kw'>end</span></pre>
|
659
|
+
</td>
|
660
|
+
</tr>
|
661
|
+
</table>
|
662
|
+
</div>
|
663
|
+
|
664
|
+
<div class="method_details ">
|
665
|
+
<h3 class="signature " id="error_task-instance_method">
|
666
|
+
|
667
|
+
#<strong>error_task</strong>(task, context) ⇒ <tt>Object</tt>
|
668
|
+
|
669
|
+
|
670
|
+
|
671
|
+
|
672
|
+
|
673
|
+
</h3><div class="docstring">
|
674
|
+
<div class="discussion">
|
675
|
+
|
676
|
+
<p>Service method exposed for FinalizationDecisionMaker</p>
|
677
|
+
|
678
|
+
|
679
|
+
</div>
|
680
|
+
</div>
|
681
|
+
<div class="tags">
|
682
|
+
|
683
|
+
|
684
|
+
</div><table class="source_code">
|
685
|
+
<tr>
|
686
|
+
<td>
|
687
|
+
<pre class="lines">
|
688
|
+
|
689
|
+
|
690
|
+
114
|
691
|
+
115
|
692
|
+
116
|
693
|
+
117
|
694
|
+
118
|
695
|
+
119
|
696
|
+
120
|
697
|
+
121
|
698
|
+
122
|
699
|
+
123
|
700
|
+
124
|
701
|
+
125
|
702
|
+
126
|
703
|
+
127</pre>
|
704
|
+
</td>
|
705
|
+
<td>
|
706
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 114</span>
|
707
|
+
|
708
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_error_task'>error_task</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
709
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_safe_transition_to'>safe_transition_to</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#ERROR-constant" title="Tasker::Constants::TaskStatuses::ERROR (constant)">ERROR</a></span></span><span class='rparen'>)</span>
|
710
|
+
|
711
|
+
<span class='id identifier rubyid_publish_task_failed'>publish_task_failed</span><span class='lparen'>(</span>
|
712
|
+
<span class='id identifier rubyid_task'>task</span><span class='comma'>,</span>
|
713
|
+
<span class='label'>error_message:</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskFinalization.html" title="Tasker::Constants::TaskFinalization (module)">TaskFinalization</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskFinalization/ErrorMessages.html" title="Tasker::Constants::TaskFinalization::ErrorMessages (module)">ErrorMessages</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskFinalization/ErrorMessages.html#STEPS_IN_ERROR_STATE-constant" title="Tasker::Constants::TaskFinalization::ErrorMessages::STEPS_IN_ERROR_STATE (constant)">STEPS_IN_ERROR_STATE</a></span></span><span class='comma'>,</span>
|
714
|
+
<span class='label'>failed_steps_count:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_failed_steps'>failed_steps</span><span class='comma'>,</span>
|
715
|
+
<span class='label'>completion_percentage:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_completion_percentage'>completion_percentage</span><span class='comma'>,</span>
|
716
|
+
<span class='label'>health_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_health_status'>health_status</span><span class='comma'>,</span>
|
717
|
+
<span class='label'>total_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_total_steps'>total_steps</span>
|
718
|
+
<span class='rparen'>)</span>
|
719
|
+
|
720
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TaskFinalizer: Task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed - </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_failed_steps'>failed_steps</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed steps, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_health_status'>health_status</span><span class='embexpr_end'>}</span><span class='tstring_content'> health</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
721
|
+
<span class='kw'>end</span></pre>
|
722
|
+
</td>
|
723
|
+
</tr>
|
724
|
+
</table>
|
725
|
+
</div>
|
726
|
+
|
727
|
+
<div class="method_details ">
|
728
|
+
<h3 class="signature " id="finalize_task-instance_method">
|
729
|
+
|
730
|
+
#<strong>finalize_task</strong>(task_id, synchronous: false) ⇒ <tt>Object</tt>
|
731
|
+
|
732
|
+
|
733
|
+
|
734
|
+
|
735
|
+
|
736
|
+
</h3><div class="docstring">
|
737
|
+
<div class="discussion">
|
738
|
+
|
739
|
+
<p>Finalize a task based on its current state using TaskExecutionContext</p>
|
740
|
+
|
741
|
+
|
742
|
+
</div>
|
743
|
+
</div>
|
744
|
+
<div class="tags">
|
745
|
+
<p class="tag_title">Parameters:</p>
|
746
|
+
<ul class="param">
|
747
|
+
|
748
|
+
<li>
|
749
|
+
|
750
|
+
<span class='name'>task_id</span>
|
751
|
+
|
752
|
+
|
753
|
+
<span class='type'>(<tt>Integer</tt>)</span>
|
754
|
+
|
755
|
+
|
756
|
+
|
757
|
+
—
|
758
|
+
<div class='inline'>
|
759
|
+
<p>The task ID to finalize</p>
|
760
|
+
</div>
|
761
|
+
|
762
|
+
</li>
|
763
|
+
|
764
|
+
<li>
|
765
|
+
|
766
|
+
<span class='name'>synchronous</span>
|
767
|
+
|
768
|
+
|
769
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
770
|
+
|
771
|
+
|
772
|
+
<em class="default">(defaults to: <tt>false</tt>)</em>
|
773
|
+
|
774
|
+
|
775
|
+
—
|
776
|
+
<div class='inline'>
|
777
|
+
<p>Whether this is synchronous processing (default: false)</p>
|
778
|
+
</div>
|
779
|
+
|
780
|
+
</li>
|
781
|
+
|
782
|
+
</ul>
|
783
|
+
|
784
|
+
|
785
|
+
</div><table class="source_code">
|
786
|
+
<tr>
|
787
|
+
<td>
|
788
|
+
<pre class="lines">
|
789
|
+
|
790
|
+
|
791
|
+
43
|
792
|
+
44
|
793
|
+
45
|
794
|
+
46
|
795
|
+
47
|
796
|
+
48</pre>
|
797
|
+
</td>
|
798
|
+
<td>
|
799
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 43</span>
|
800
|
+
|
801
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_finalize_task'>finalize_task</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='comma'>,</span> <span class='label'>synchronous:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
802
|
+
<span class='id identifier rubyid_task'>task</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Task.html" title="Tasker::Task (class)">Task</a></span></span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
803
|
+
<span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="TaskFinalizer/ContextManager.html" title="Tasker::Orchestration::TaskFinalizer::ContextManager (class)">ContextManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get_task_execution_context'><span class='object_link'><a href="TaskFinalizer/ContextManager.html#get_task_execution_context-class_method" title="Tasker::Orchestration::TaskFinalizer::ContextManager.get_task_execution_context (method)">get_task_execution_context</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
804
|
+
|
805
|
+
<span class='const'><span class='object_link'><a href="TaskFinalizer/FinalizationDecisionMaker.html" title="Tasker::Orchestration::TaskFinalizer::FinalizationDecisionMaker (class)">FinalizationDecisionMaker</a></span></span><span class='period'>.</span><span class='id identifier rubyid_make_finalization_decision'><span class='object_link'><a href="TaskFinalizer/FinalizationDecisionMaker.html#make_finalization_decision-class_method" title="Tasker::Orchestration::TaskFinalizer::FinalizationDecisionMaker.make_finalization_decision (method)">make_finalization_decision</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='comma'>,</span> <span class='id identifier rubyid_synchronous'>synchronous</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
|
806
|
+
<span class='kw'>end</span></pre>
|
807
|
+
</td>
|
808
|
+
</tr>
|
809
|
+
</table>
|
810
|
+
</div>
|
811
|
+
|
812
|
+
<div class="method_details ">
|
813
|
+
<h3 class="signature " id="finalize_task_with_steps-instance_method">
|
814
|
+
|
815
|
+
#<strong>finalize_task_with_steps</strong>(task, _sequence, processed_steps) ⇒ <tt>Object</tt>
|
816
|
+
|
817
|
+
|
818
|
+
|
819
|
+
|
820
|
+
|
821
|
+
</h3><div class="docstring">
|
822
|
+
<div class="discussion">
|
823
|
+
|
824
|
+
<p>Finalize a task with processed steps</p>
|
825
|
+
|
826
|
+
|
827
|
+
</div>
|
828
|
+
</div>
|
829
|
+
<div class="tags">
|
830
|
+
<p class="tag_title">Parameters:</p>
|
831
|
+
<ul class="param">
|
832
|
+
|
833
|
+
<li>
|
834
|
+
|
835
|
+
<span class='name'>task</span>
|
836
|
+
|
837
|
+
|
838
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Task.html" title="Tasker::Task (class)">Tasker::Task</a></span></tt>)</span>
|
839
|
+
|
840
|
+
|
841
|
+
|
842
|
+
—
|
843
|
+
<div class='inline'>
|
844
|
+
<p>The task to finalize</p>
|
845
|
+
</div>
|
846
|
+
|
847
|
+
</li>
|
848
|
+
|
849
|
+
<li>
|
850
|
+
|
851
|
+
<span class='name'>_sequence</span>
|
852
|
+
|
853
|
+
|
854
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Types/StepSequence.html" title="Tasker::Types::StepSequence (class)">Tasker::Types::StepSequence</a></span></tt>)</span>
|
855
|
+
|
856
|
+
|
857
|
+
|
858
|
+
—
|
859
|
+
<div class='inline'>
|
860
|
+
<p>The step sequence (unused)</p>
|
861
|
+
</div>
|
862
|
+
|
863
|
+
</li>
|
864
|
+
|
865
|
+
<li>
|
866
|
+
|
867
|
+
<span class='name'>processed_steps</span>
|
868
|
+
|
869
|
+
|
870
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="../WorkflowStep.html" title="Tasker::WorkflowStep (class)">Tasker::WorkflowStep</a></span>></tt>)</span>
|
871
|
+
|
872
|
+
|
873
|
+
|
874
|
+
—
|
875
|
+
<div class='inline'>
|
876
|
+
<p>All processed steps</p>
|
877
|
+
</div>
|
878
|
+
|
879
|
+
</li>
|
880
|
+
|
881
|
+
</ul>
|
882
|
+
|
883
|
+
|
884
|
+
</div><table class="source_code">
|
885
|
+
<tr>
|
886
|
+
<td>
|
887
|
+
<pre class="lines">
|
888
|
+
|
889
|
+
|
890
|
+
35
|
891
|
+
36
|
892
|
+
37</pre>
|
893
|
+
</td>
|
894
|
+
<td>
|
895
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 35</span>
|
896
|
+
|
897
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_finalize_task_with_steps'>finalize_task_with_steps</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid__sequence'>_sequence</span><span class='comma'>,</span> <span class='id identifier rubyid_processed_steps'>processed_steps</span><span class='rparen'>)</span>
|
898
|
+
<span class='const'><span class='object_link'><a href="TaskFinalizer/FinalizationProcessor.html" title="Tasker::Orchestration::TaskFinalizer::FinalizationProcessor (class)">FinalizationProcessor</a></span></span><span class='period'>.</span><span class='id identifier rubyid_finalize_with_steps'><span class='object_link'><a href="TaskFinalizer/FinalizationProcessor.html#finalize_with_steps-class_method" title="Tasker::Orchestration::TaskFinalizer::FinalizationProcessor.finalize_with_steps (method)">finalize_with_steps</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_processed_steps'>processed_steps</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
|
899
|
+
<span class='kw'>end</span></pre>
|
900
|
+
</td>
|
901
|
+
</tr>
|
902
|
+
</table>
|
903
|
+
</div>
|
904
|
+
|
905
|
+
<div class="method_details ">
|
906
|
+
<h3 class="signature " id="handle_no_viable_steps-instance_method">
|
907
|
+
|
908
|
+
#<strong>handle_no_viable_steps</strong>(event) ⇒ <tt>Object</tt>
|
909
|
+
|
910
|
+
|
911
|
+
|
912
|
+
|
913
|
+
|
914
|
+
</h3><div class="docstring">
|
915
|
+
<div class="discussion">
|
916
|
+
|
917
|
+
<p>Handle no viable steps event</p>
|
918
|
+
|
919
|
+
<p>Convenience method for event-driven workflows when no viable steps are found. This triggers task finalization to determine next action.</p>
|
920
|
+
|
921
|
+
|
922
|
+
</div>
|
923
|
+
</div>
|
924
|
+
<div class="tags">
|
925
|
+
<p class="tag_title">Parameters:</p>
|
926
|
+
<ul class="param">
|
927
|
+
|
928
|
+
<li>
|
929
|
+
|
930
|
+
<span class='name'>event</span>
|
931
|
+
|
932
|
+
|
933
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
934
|
+
|
935
|
+
|
936
|
+
|
937
|
+
—
|
938
|
+
<div class='inline'>
|
939
|
+
<p>Event payload with task_id</p>
|
940
|
+
</div>
|
941
|
+
|
942
|
+
</li>
|
943
|
+
|
944
|
+
</ul>
|
945
|
+
|
946
|
+
|
947
|
+
</div><table class="source_code">
|
948
|
+
<tr>
|
949
|
+
<td>
|
950
|
+
<pre class="lines">
|
951
|
+
|
952
|
+
|
953
|
+
56
|
954
|
+
57
|
955
|
+
58
|
956
|
+
59</pre>
|
957
|
+
</td>
|
958
|
+
<td>
|
959
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 56</span>
|
960
|
+
|
961
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_handle_no_viable_steps'>handle_no_viable_steps</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span>
|
962
|
+
<span class='id identifier rubyid_task_id'>task_id</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span><span class='lbracket'>[</span><span class='symbol'>:task_id</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_event'>event</span>
|
963
|
+
<span class='id identifier rubyid_finalize_task'>finalize_task</span><span class='lparen'>(</span><span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
964
|
+
<span class='kw'>end</span></pre>
|
965
|
+
</td>
|
966
|
+
</tr>
|
967
|
+
</table>
|
968
|
+
</div>
|
969
|
+
|
970
|
+
<div class="method_details ">
|
971
|
+
<h3 class="signature " id="pending_task-instance_method">
|
972
|
+
|
973
|
+
#<strong>pending_task</strong>(task, context, reason: nil) ⇒ <tt>Object</tt>
|
974
|
+
|
975
|
+
|
976
|
+
|
977
|
+
|
978
|
+
|
979
|
+
</h3><div class="docstring">
|
980
|
+
<div class="discussion">
|
981
|
+
|
982
|
+
<p>Service method exposed for FinalizationDecisionMaker</p>
|
983
|
+
|
984
|
+
|
985
|
+
</div>
|
986
|
+
</div>
|
987
|
+
<div class="tags">
|
988
|
+
|
989
|
+
|
990
|
+
</div><table class="source_code">
|
991
|
+
<tr>
|
992
|
+
<td>
|
993
|
+
<pre class="lines">
|
994
|
+
|
995
|
+
|
996
|
+
130
|
997
|
+
131
|
998
|
+
132
|
999
|
+
133
|
1000
|
+
134
|
1001
|
+
135
|
1002
|
+
136
|
1003
|
+
137
|
1004
|
+
138
|
1005
|
+
139
|
1006
|
+
140
|
1007
|
+
141
|
1008
|
+
142
|
1009
|
+
143
|
1010
|
+
144
|
1011
|
+
145</pre>
|
1012
|
+
</td>
|
1013
|
+
<td>
|
1014
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 130</span>
|
1015
|
+
|
1016
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_pending_task'>pending_task</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='comma'>,</span> <span class='label'>reason:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1017
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_safe_transition_to'>safe_transition_to</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Constants.html" title="Tasker::Constants (module)">Constants</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html" title="Tasker::Constants::TaskStatuses (module)">TaskStatuses</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Constants/TaskStatuses.html#PENDING-constant" title="Tasker::Constants::TaskStatuses::PENDING (constant)">PENDING</a></span></span><span class='rparen'>)</span>
|
1018
|
+
|
1019
|
+
<span class='id identifier rubyid_reason'>reason</span> <span class='op'>||=</span> <span class='const'><span class='object_link'><a href="TaskFinalizer/ReasonDeterminer.html" title="Tasker::Orchestration::TaskFinalizer::ReasonDeterminer (class)">ReasonDeterminer</a></span></span><span class='period'>.</span><span class='id identifier rubyid_determine_pending_reason'><span class='object_link'><a href="TaskFinalizer/ReasonDeterminer.html#determine_pending_reason-class_method" title="Tasker::Orchestration::TaskFinalizer::ReasonDeterminer.determine_pending_reason (method)">determine_pending_reason</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
1020
|
+
|
1021
|
+
<span class='id identifier rubyid_publish_task_pending_transition'>publish_task_pending_transition</span><span class='lparen'>(</span>
|
1022
|
+
<span class='id identifier rubyid_task'>task</span><span class='comma'>,</span>
|
1023
|
+
<span class='label'>reason:</span> <span class='id identifier rubyid_reason'>reason</span><span class='comma'>,</span>
|
1024
|
+
<span class='label'>ready_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_ready_steps'>ready_steps</span><span class='comma'>,</span>
|
1025
|
+
<span class='label'>in_progress_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_in_progress_steps'>in_progress_steps</span><span class='comma'>,</span>
|
1026
|
+
<span class='label'>completion_percentage:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_completion_percentage'>completion_percentage</span><span class='comma'>,</span>
|
1027
|
+
<span class='label'>health_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_health_status'>health_status</span>
|
1028
|
+
<span class='rparen'>)</span>
|
1029
|
+
|
1030
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>TaskFinalizer: Task </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_task'>task</span><span class='period'>.</span><span class='id identifier rubyid_task_id'>task_id</span><span class='embexpr_end'>}</span><span class='tstring_content'> set to pending - </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_reason'>reason</span><span class='embexpr_end'>}</span><span class='tstring_content'> (ready_steps: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_ready_steps'>ready_steps</span><span class='embexpr_end'>}</span><span class='tstring_content'>, in_progress: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_in_progress_steps'>in_progress_steps</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1031
|
+
<span class='kw'>end</span></pre>
|
1032
|
+
</td>
|
1033
|
+
</tr>
|
1034
|
+
</table>
|
1035
|
+
</div>
|
1036
|
+
|
1037
|
+
<div class="method_details ">
|
1038
|
+
<h3 class="signature " id="publish_finalization_completed-instance_method">
|
1039
|
+
|
1040
|
+
#<strong>publish_finalization_completed</strong>(task, processed_steps, context) ⇒ <tt>Object</tt>
|
1041
|
+
|
1042
|
+
|
1043
|
+
|
1044
|
+
|
1045
|
+
|
1046
|
+
</h3><div class="docstring">
|
1047
|
+
<div class="discussion">
|
1048
|
+
|
1049
|
+
<p>Service method exposed for event publishing</p>
|
1050
|
+
|
1051
|
+
|
1052
|
+
</div>
|
1053
|
+
</div>
|
1054
|
+
<div class="tags">
|
1055
|
+
|
1056
|
+
|
1057
|
+
</div><table class="source_code">
|
1058
|
+
<tr>
|
1059
|
+
<td>
|
1060
|
+
<pre class="lines">
|
1061
|
+
|
1062
|
+
|
1063
|
+
168
|
1064
|
+
169
|
1065
|
+
170
|
1066
|
+
171
|
1067
|
+
172
|
1068
|
+
173
|
1069
|
+
174
|
1070
|
+
175
|
1071
|
+
176
|
1072
|
+
177
|
1073
|
+
178
|
1074
|
+
179
|
1075
|
+
180</pre>
|
1076
|
+
</td>
|
1077
|
+
<td>
|
1078
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 168</span>
|
1079
|
+
|
1080
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publish_finalization_completed'>publish_finalization_completed</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_processed_steps'>processed_steps</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
1081
|
+
<span class='id identifier rubyid_publish_task_finalization_completed'>publish_task_finalization_completed</span><span class='lparen'>(</span>
|
1082
|
+
<span class='id identifier rubyid_task'>task</span><span class='comma'>,</span>
|
1083
|
+
<span class='label'>processed_steps_count:</span> <span class='id identifier rubyid_processed_steps'>processed_steps</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='comma'>,</span>
|
1084
|
+
<span class='label'>execution_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_execution_status'>execution_status</span><span class='comma'>,</span>
|
1085
|
+
<span class='label'>health_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_health_status'>health_status</span><span class='comma'>,</span>
|
1086
|
+
<span class='label'>completion_percentage:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_completion_percentage'>completion_percentage</span><span class='comma'>,</span>
|
1087
|
+
<span class='label'>total_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_total_steps'>total_steps</span><span class='comma'>,</span>
|
1088
|
+
<span class='label'>ready_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_ready_steps'>ready_steps</span><span class='comma'>,</span>
|
1089
|
+
<span class='label'>failed_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_failed_steps'>failed_steps</span><span class='comma'>,</span>
|
1090
|
+
<span class='label'>recommended_action:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_recommended_action'>recommended_action</span>
|
1091
|
+
<span class='rparen'>)</span>
|
1092
|
+
<span class='kw'>end</span></pre>
|
1093
|
+
</td>
|
1094
|
+
</tr>
|
1095
|
+
</table>
|
1096
|
+
</div>
|
1097
|
+
|
1098
|
+
<div class="method_details ">
|
1099
|
+
<h3 class="signature " id="publish_finalization_started-instance_method">
|
1100
|
+
|
1101
|
+
#<strong>publish_finalization_started</strong>(task, processed_steps, context) ⇒ <tt>Object</tt>
|
1102
|
+
|
1103
|
+
|
1104
|
+
|
1105
|
+
|
1106
|
+
|
1107
|
+
</h3><div class="docstring">
|
1108
|
+
<div class="discussion">
|
1109
|
+
|
1110
|
+
<p>Service method exposed for event publishing</p>
|
1111
|
+
|
1112
|
+
|
1113
|
+
</div>
|
1114
|
+
</div>
|
1115
|
+
<div class="tags">
|
1116
|
+
|
1117
|
+
|
1118
|
+
</div><table class="source_code">
|
1119
|
+
<tr>
|
1120
|
+
<td>
|
1121
|
+
<pre class="lines">
|
1122
|
+
|
1123
|
+
|
1124
|
+
153
|
1125
|
+
154
|
1126
|
+
155
|
1127
|
+
156
|
1128
|
+
157
|
1129
|
+
158
|
1130
|
+
159
|
1131
|
+
160
|
1132
|
+
161
|
1133
|
+
162
|
1134
|
+
163
|
1135
|
+
164
|
1136
|
+
165</pre>
|
1137
|
+
</td>
|
1138
|
+
<td>
|
1139
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 153</span>
|
1140
|
+
|
1141
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publish_finalization_started'>publish_finalization_started</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_processed_steps'>processed_steps</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
1142
|
+
<span class='id identifier rubyid_publish_task_finalization_started'>publish_task_finalization_started</span><span class='lparen'>(</span>
|
1143
|
+
<span class='id identifier rubyid_task'>task</span><span class='comma'>,</span>
|
1144
|
+
<span class='label'>processed_steps_count:</span> <span class='id identifier rubyid_processed_steps'>processed_steps</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='comma'>,</span>
|
1145
|
+
<span class='label'>execution_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_execution_status'>execution_status</span><span class='comma'>,</span>
|
1146
|
+
<span class='label'>health_status:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_health_status'>health_status</span><span class='comma'>,</span>
|
1147
|
+
<span class='label'>completion_percentage:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_completion_percentage'>completion_percentage</span><span class='comma'>,</span>
|
1148
|
+
<span class='label'>total_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_total_steps'>total_steps</span><span class='comma'>,</span>
|
1149
|
+
<span class='label'>ready_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_ready_steps'>ready_steps</span><span class='comma'>,</span>
|
1150
|
+
<span class='label'>failed_steps:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_failed_steps'>failed_steps</span><span class='comma'>,</span>
|
1151
|
+
<span class='label'>recommended_action:</span> <span class='id identifier rubyid_context'>context</span><span class='op'>&.</span><span class='id identifier rubyid_recommended_action'>recommended_action</span>
|
1152
|
+
<span class='rparen'>)</span>
|
1153
|
+
<span class='kw'>end</span></pre>
|
1154
|
+
</td>
|
1155
|
+
</tr>
|
1156
|
+
</table>
|
1157
|
+
</div>
|
1158
|
+
|
1159
|
+
<div class="method_details ">
|
1160
|
+
<h3 class="signature " id="reenqueue_task_with_context-instance_method">
|
1161
|
+
|
1162
|
+
#<strong>reenqueue_task_with_context</strong>(task, context, reason: nil) ⇒ <tt>Object</tt>
|
1163
|
+
|
1164
|
+
|
1165
|
+
|
1166
|
+
|
1167
|
+
|
1168
|
+
</h3><div class="docstring">
|
1169
|
+
<div class="discussion">
|
1170
|
+
|
1171
|
+
<p>Service method exposed for FinalizationDecisionMaker</p>
|
1172
|
+
|
1173
|
+
|
1174
|
+
</div>
|
1175
|
+
</div>
|
1176
|
+
<div class="tags">
|
1177
|
+
|
1178
|
+
|
1179
|
+
</div><table class="source_code">
|
1180
|
+
<tr>
|
1181
|
+
<td>
|
1182
|
+
<pre class="lines">
|
1183
|
+
|
1184
|
+
|
1185
|
+
148
|
1186
|
+
149
|
1187
|
+
150</pre>
|
1188
|
+
</td>
|
1189
|
+
<td>
|
1190
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/orchestration/task_finalizer.rb', line 148</span>
|
1191
|
+
|
1192
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_reenqueue_task_with_context'>reenqueue_task_with_context</span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='comma'>,</span> <span class='label'>reason:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1193
|
+
<span class='const'><span class='object_link'><a href="TaskFinalizer/ReenqueueManager.html" title="Tasker::Orchestration::TaskFinalizer::ReenqueueManager (class)">ReenqueueManager</a></span></span><span class='period'>.</span><span class='id identifier rubyid_reenqueue_with_context'><span class='object_link'><a href="TaskFinalizer/ReenqueueManager.html#reenqueue_with_context-class_method" title="Tasker::Orchestration::TaskFinalizer::ReenqueueManager.reenqueue_with_context (method)">reenqueue_with_context</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='comma'>,</span> <span class='id identifier rubyid_reason'>reason</span><span class='rparen'>)</span>
|
1194
|
+
<span class='kw'>end</span></pre>
|
1195
|
+
</td>
|
1196
|
+
</tr>
|
1197
|
+
</table>
|
1198
|
+
</div>
|
1199
|
+
|
1200
|
+
</div>
|
1201
|
+
|
1202
|
+
</div>
|
1203
|
+
|
1204
|
+
<div id="footer">
|
1205
|
+
Generated on Tue Jul 1 16:47:39 2025 by
|
1206
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1207
|
+
0.9.37 (ruby-3.2.4).
|
1208
|
+
</div>
|
1209
|
+
|
1210
|
+
</div>
|
1211
|
+
</body>
|
1212
|
+
</html>
|