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,1226 @@
|
|
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::Events::Bus
|
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::Events::Bus";
|
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 (B)</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="../Events.html" title="Tasker::Events (module)">Events</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">Bus</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::Events::Bus
|
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::Events::Bus</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>Singleton</dd>
|
93
|
+
</dl>
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
<dl>
|
101
|
+
<dt>Defined in:</dt>
|
102
|
+
<dd>lib/tasker/events/bus.rb</dd>
|
103
|
+
</dl>
|
104
|
+
|
105
|
+
</div>
|
106
|
+
|
107
|
+
<h2>Overview</h2><div class="docstring">
|
108
|
+
<div class="discussion">
|
109
|
+
|
110
|
+
<p>Simplified event bus following dry-events best practices</p>
|
111
|
+
|
112
|
+
<p>This bus coordinates event publishing and subscription throughout the Tasker system using dry-events primitives.</p>
|
113
|
+
|
114
|
+
|
115
|
+
</div>
|
116
|
+
</div>
|
117
|
+
<div class="tags">
|
118
|
+
|
119
|
+
|
120
|
+
</div>
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
125
|
+
<ul class="summary">
|
126
|
+
|
127
|
+
<li class="public ">
|
128
|
+
<span class="summary_signature">
|
129
|
+
|
130
|
+
<a href="#publisher-instance_method" title="#publisher (instance method)">#<strong>publisher</strong> ⇒ Publisher </a>
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
</span>
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
<span class="note title readonly">readonly</span>
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
<span class="summary_desc"><div class='inline'>
|
150
|
+
<p>Get the publisher instance.</p>
|
151
|
+
</div></span>
|
152
|
+
|
153
|
+
</li>
|
154
|
+
|
155
|
+
|
156
|
+
</ul>
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
<h2>
|
163
|
+
Class Method Summary
|
164
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
165
|
+
</h2>
|
166
|
+
|
167
|
+
<ul class="summary">
|
168
|
+
|
169
|
+
<li class="public ">
|
170
|
+
<span class="summary_signature">
|
171
|
+
|
172
|
+
<a href="#instance-class_method" title="instance (class method)">.<strong>instance</strong> ⇒ Bus </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>Get the global event bus instance.</p>
|
188
|
+
</div></span>
|
189
|
+
|
190
|
+
</li>
|
191
|
+
|
192
|
+
|
193
|
+
</ul>
|
194
|
+
|
195
|
+
<h2>
|
196
|
+
Instance Method Summary
|
197
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
198
|
+
</h2>
|
199
|
+
|
200
|
+
<ul class="summary">
|
201
|
+
|
202
|
+
<li class="public ">
|
203
|
+
<span class="summary_signature">
|
204
|
+
|
205
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> ⇒ Bus </a>
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
</span>
|
210
|
+
|
211
|
+
|
212
|
+
<span class="note title constructor">constructor</span>
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
<span class="summary_desc"><div class='inline'>
|
222
|
+
<p>A new instance of Bus.</p>
|
223
|
+
</div></span>
|
224
|
+
|
225
|
+
</li>
|
226
|
+
|
227
|
+
|
228
|
+
<li class="public ">
|
229
|
+
<span class="summary_signature">
|
230
|
+
|
231
|
+
<a href="#publish-instance_method" title="#publish (instance method)">#<strong>publish</strong>(event_name, payload = {}) ⇒ Object </a>
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
</span>
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
<span class="summary_desc"><div class='inline'>
|
246
|
+
<p>Publish an event through the bus.</p>
|
247
|
+
</div></span>
|
248
|
+
|
249
|
+
</li>
|
250
|
+
|
251
|
+
|
252
|
+
<li class="public ">
|
253
|
+
<span class="summary_signature">
|
254
|
+
|
255
|
+
<a href="#publish_step_event-instance_method" title="#publish_step_event (instance method)">#<strong>publish_step_event</strong>(event_name, step, metadata = {}) ⇒ Object </a>
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
</span>
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
<span class="summary_desc"><div class='inline'>
|
270
|
+
<p>Publish a step event with standard payload.</p>
|
271
|
+
</div></span>
|
272
|
+
|
273
|
+
</li>
|
274
|
+
|
275
|
+
|
276
|
+
<li class="public ">
|
277
|
+
<span class="summary_signature">
|
278
|
+
|
279
|
+
<a href="#publish_task_event-instance_method" title="#publish_task_event (instance method)">#<strong>publish_task_event</strong>(event_name, task, metadata = {}) ⇒ Object </a>
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
</span>
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
<span class="summary_desc"><div class='inline'>
|
294
|
+
<p>Publish a task event with standard payload.</p>
|
295
|
+
</div></span>
|
296
|
+
|
297
|
+
</li>
|
298
|
+
|
299
|
+
|
300
|
+
<li class="public ">
|
301
|
+
<span class="summary_signature">
|
302
|
+
|
303
|
+
<a href="#publish_workflow_event-instance_method" title="#publish_workflow_event (instance method)">#<strong>publish_workflow_event</strong>(event_name, context = {}) ⇒ Object </a>
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
</span>
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
<span class="summary_desc"><div class='inline'>
|
318
|
+
<p>Publish a workflow event with minimal payload.</p>
|
319
|
+
</div></span>
|
320
|
+
|
321
|
+
</li>
|
322
|
+
|
323
|
+
|
324
|
+
<li class="public ">
|
325
|
+
<span class="summary_signature">
|
326
|
+
|
327
|
+
<a href="#setup_default_subscribers-instance_method" title="#setup_default_subscribers (instance method)">#<strong>setup_default_subscribers</strong> ⇒ Object </a>
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
</span>
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
<span class="summary_desc"><div class='inline'>
|
342
|
+
<p>Initialize default subscribers.</p>
|
343
|
+
</div></span>
|
344
|
+
|
345
|
+
</li>
|
346
|
+
|
347
|
+
|
348
|
+
<li class="public ">
|
349
|
+
<span class="summary_signature">
|
350
|
+
|
351
|
+
<a href="#subscribe-instance_method" title="#subscribe (instance method)">#<strong>subscribe</strong>(event_name, callable = nil, &block) ⇒ Object </a>
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
</span>
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
<span class="summary_desc"><div class='inline'>
|
366
|
+
<p>Subscribe a callable to an event.</p>
|
367
|
+
</div></span>
|
368
|
+
|
369
|
+
</li>
|
370
|
+
|
371
|
+
|
372
|
+
<li class="public ">
|
373
|
+
<span class="summary_signature">
|
374
|
+
|
375
|
+
<a href="#subscribe_object-instance_method" title="#subscribe_object (instance method)">#<strong>subscribe_object</strong>(subscriber) ⇒ Object </a>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
</span>
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
<span class="summary_desc"><div class='inline'>
|
390
|
+
<p>Subscribe an object that responds to event methods.</p>
|
391
|
+
</div></span>
|
392
|
+
|
393
|
+
</li>
|
394
|
+
|
395
|
+
|
396
|
+
<li class="public ">
|
397
|
+
<span class="summary_signature">
|
398
|
+
|
399
|
+
<a href="#subscribers-instance_method" title="#subscribers (instance method)">#<strong>subscribers</strong> ⇒ Array </a>
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
</span>
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
<span class="summary_desc"><div class='inline'>
|
414
|
+
<p>Get list of registered subscribers.</p>
|
415
|
+
</div></span>
|
416
|
+
|
417
|
+
</li>
|
418
|
+
|
419
|
+
|
420
|
+
</ul>
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
<div id="constructor_details" class="method_details_list">
|
425
|
+
<h2>Constructor Details</h2>
|
426
|
+
|
427
|
+
<div class="method_details first">
|
428
|
+
<h3 class="signature first" id="initialize-instance_method">
|
429
|
+
|
430
|
+
#<strong>initialize</strong> ⇒ <tt><span class='object_link'><a href="" title="Tasker::Events::Bus (class)">Bus</a></span></tt>
|
431
|
+
|
432
|
+
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
</h3><div class="docstring">
|
437
|
+
<div class="discussion">
|
438
|
+
|
439
|
+
<p>Returns a new instance of Bus.</p>
|
440
|
+
|
441
|
+
|
442
|
+
</div>
|
443
|
+
</div>
|
444
|
+
<div class="tags">
|
445
|
+
|
446
|
+
|
447
|
+
</div><table class="source_code">
|
448
|
+
<tr>
|
449
|
+
<td>
|
450
|
+
<pre class="lines">
|
451
|
+
|
452
|
+
|
453
|
+
15
|
454
|
+
16
|
455
|
+
17
|
456
|
+
18</pre>
|
457
|
+
</td>
|
458
|
+
<td>
|
459
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 15</span>
|
460
|
+
|
461
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
|
462
|
+
<span class='ivar'>@publisher</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Publisher.html" title="Tasker::Events::Publisher (class)">Publisher</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
463
|
+
<span class='ivar'>@subscribers</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
464
|
+
<span class='kw'>end</span></pre>
|
465
|
+
</td>
|
466
|
+
</tr>
|
467
|
+
</table>
|
468
|
+
</div>
|
469
|
+
|
470
|
+
</div>
|
471
|
+
|
472
|
+
<div id="instance_attr_details" class="attr_details">
|
473
|
+
<h2>Instance Attribute Details</h2>
|
474
|
+
|
475
|
+
|
476
|
+
<span id=""></span>
|
477
|
+
<div class="method_details first">
|
478
|
+
<h3 class="signature first" id="publisher-instance_method">
|
479
|
+
|
480
|
+
#<strong>publisher</strong> ⇒ <tt><span class='object_link'><a href="Publisher.html" title="Tasker::Events::Publisher (class)">Publisher</a></span></tt> <span class="extras">(readonly)</span>
|
481
|
+
|
482
|
+
|
483
|
+
|
484
|
+
|
485
|
+
|
486
|
+
</h3><div class="docstring">
|
487
|
+
<div class="discussion">
|
488
|
+
|
489
|
+
<p>Get the publisher instance</p>
|
490
|
+
|
491
|
+
|
492
|
+
</div>
|
493
|
+
</div>
|
494
|
+
<div class="tags">
|
495
|
+
|
496
|
+
<p class="tag_title">Returns:</p>
|
497
|
+
<ul class="return">
|
498
|
+
|
499
|
+
<li>
|
500
|
+
|
501
|
+
|
502
|
+
<span class='type'>(<tt><span class='object_link'><a href="Publisher.html" title="Tasker::Events::Publisher (class)">Publisher</a></span></tt>)</span>
|
503
|
+
|
504
|
+
|
505
|
+
|
506
|
+
—
|
507
|
+
<div class='inline'>
|
508
|
+
<p>The event publisher</p>
|
509
|
+
</div>
|
510
|
+
|
511
|
+
</li>
|
512
|
+
|
513
|
+
</ul>
|
514
|
+
|
515
|
+
</div><table class="source_code">
|
516
|
+
<tr>
|
517
|
+
<td>
|
518
|
+
<pre class="lines">
|
519
|
+
|
520
|
+
|
521
|
+
23
|
522
|
+
24
|
523
|
+
25</pre>
|
524
|
+
</td>
|
525
|
+
<td>
|
526
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 23</span>
|
527
|
+
|
528
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publisher'>publisher</span>
|
529
|
+
<span class='ivar'>@publisher</span>
|
530
|
+
<span class='kw'>end</span></pre>
|
531
|
+
</td>
|
532
|
+
</tr>
|
533
|
+
</table>
|
534
|
+
</div>
|
535
|
+
|
536
|
+
</div>
|
537
|
+
|
538
|
+
|
539
|
+
<div id="class_method_details" class="method_details_list">
|
540
|
+
<h2>Class Method Details</h2>
|
541
|
+
|
542
|
+
|
543
|
+
<div class="method_details first">
|
544
|
+
<h3 class="signature first" id="instance-class_method">
|
545
|
+
|
546
|
+
.<strong>instance</strong> ⇒ <tt><span class='object_link'><a href="" title="Tasker::Events::Bus (class)">Bus</a></span></tt>
|
547
|
+
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
|
552
|
+
</h3><div class="docstring">
|
553
|
+
<div class="discussion">
|
554
|
+
|
555
|
+
<p>Get the global event bus instance</p>
|
556
|
+
|
557
|
+
|
558
|
+
</div>
|
559
|
+
</div>
|
560
|
+
<div class="tags">
|
561
|
+
|
562
|
+
<p class="tag_title">Returns:</p>
|
563
|
+
<ul class="return">
|
564
|
+
|
565
|
+
<li>
|
566
|
+
|
567
|
+
|
568
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Tasker::Events::Bus (class)">Bus</a></span></tt>)</span>
|
569
|
+
|
570
|
+
|
571
|
+
|
572
|
+
—
|
573
|
+
<div class='inline'>
|
574
|
+
<p>The singleton bus instance</p>
|
575
|
+
</div>
|
576
|
+
|
577
|
+
</li>
|
578
|
+
|
579
|
+
</ul>
|
580
|
+
|
581
|
+
</div><table class="source_code">
|
582
|
+
<tr>
|
583
|
+
<td>
|
584
|
+
<pre class="lines">
|
585
|
+
|
586
|
+
|
587
|
+
100
|
588
|
+
101
|
589
|
+
102</pre>
|
590
|
+
</td>
|
591
|
+
<td>
|
592
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 100</span>
|
593
|
+
|
594
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_instance'>instance</span>
|
595
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='id identifier rubyid_new'>new</span>
|
596
|
+
<span class='kw'>end</span></pre>
|
597
|
+
</td>
|
598
|
+
</tr>
|
599
|
+
</table>
|
600
|
+
</div>
|
601
|
+
|
602
|
+
</div>
|
603
|
+
|
604
|
+
<div id="instance_method_details" class="method_details_list">
|
605
|
+
<h2>Instance Method Details</h2>
|
606
|
+
|
607
|
+
|
608
|
+
<div class="method_details first">
|
609
|
+
<h3 class="signature first" id="publish-instance_method">
|
610
|
+
|
611
|
+
#<strong>publish</strong>(event_name, payload = {}) ⇒ <tt>Object</tt>
|
612
|
+
|
613
|
+
|
614
|
+
|
615
|
+
|
616
|
+
|
617
|
+
</h3><div class="docstring">
|
618
|
+
<div class="discussion">
|
619
|
+
|
620
|
+
<p>Publish an event through the bus</p>
|
621
|
+
|
622
|
+
|
623
|
+
</div>
|
624
|
+
</div>
|
625
|
+
<div class="tags">
|
626
|
+
<p class="tag_title">Parameters:</p>
|
627
|
+
<ul class="param">
|
628
|
+
|
629
|
+
<li>
|
630
|
+
|
631
|
+
<span class='name'>event_name</span>
|
632
|
+
|
633
|
+
|
634
|
+
<span class='type'>(<tt>String</tt>)</span>
|
635
|
+
|
636
|
+
|
637
|
+
|
638
|
+
—
|
639
|
+
<div class='inline'>
|
640
|
+
<p>The event name</p>
|
641
|
+
</div>
|
642
|
+
|
643
|
+
</li>
|
644
|
+
|
645
|
+
<li>
|
646
|
+
|
647
|
+
<span class='name'>payload</span>
|
648
|
+
|
649
|
+
|
650
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
651
|
+
|
652
|
+
|
653
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
654
|
+
|
655
|
+
|
656
|
+
—
|
657
|
+
<div class='inline'>
|
658
|
+
<p>The event payload</p>
|
659
|
+
</div>
|
660
|
+
|
661
|
+
</li>
|
662
|
+
|
663
|
+
</ul>
|
664
|
+
|
665
|
+
|
666
|
+
</div><table class="source_code">
|
667
|
+
<tr>
|
668
|
+
<td>
|
669
|
+
<pre class="lines">
|
670
|
+
|
671
|
+
|
672
|
+
50
|
673
|
+
51
|
674
|
+
52</pre>
|
675
|
+
</td>
|
676
|
+
<td>
|
677
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 50</span>
|
678
|
+
|
679
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publish'>publish</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_payload'>payload</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
680
|
+
<span class='ivar'>@publisher</span><span class='period'>.</span><span class='id identifier rubyid_publish'>publish</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
|
681
|
+
<span class='kw'>end</span></pre>
|
682
|
+
</td>
|
683
|
+
</tr>
|
684
|
+
</table>
|
685
|
+
</div>
|
686
|
+
|
687
|
+
<div class="method_details ">
|
688
|
+
<h3 class="signature " id="publish_step_event-instance_method">
|
689
|
+
|
690
|
+
#<strong>publish_step_event</strong>(event_name, step, metadata = {}) ⇒ <tt>Object</tt>
|
691
|
+
|
692
|
+
|
693
|
+
|
694
|
+
|
695
|
+
|
696
|
+
</h3><div class="docstring">
|
697
|
+
<div class="discussion">
|
698
|
+
|
699
|
+
<p>Publish a step event with standard payload</p>
|
700
|
+
|
701
|
+
|
702
|
+
</div>
|
703
|
+
</div>
|
704
|
+
<div class="tags">
|
705
|
+
<p class="tag_title">Parameters:</p>
|
706
|
+
<ul class="param">
|
707
|
+
|
708
|
+
<li>
|
709
|
+
|
710
|
+
<span class='name'>event_name</span>
|
711
|
+
|
712
|
+
|
713
|
+
<span class='type'>(<tt>String</tt>)</span>
|
714
|
+
|
715
|
+
|
716
|
+
|
717
|
+
—
|
718
|
+
<div class='inline'>
|
719
|
+
<p>The event name</p>
|
720
|
+
</div>
|
721
|
+
|
722
|
+
</li>
|
723
|
+
|
724
|
+
<li>
|
725
|
+
|
726
|
+
<span class='name'>step</span>
|
727
|
+
|
728
|
+
|
729
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
730
|
+
|
731
|
+
|
732
|
+
|
733
|
+
—
|
734
|
+
<div class='inline'>
|
735
|
+
<p>The step object</p>
|
736
|
+
</div>
|
737
|
+
|
738
|
+
</li>
|
739
|
+
|
740
|
+
<li>
|
741
|
+
|
742
|
+
<span class='name'>metadata</span>
|
743
|
+
|
744
|
+
|
745
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
746
|
+
|
747
|
+
|
748
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
749
|
+
|
750
|
+
|
751
|
+
—
|
752
|
+
<div class='inline'>
|
753
|
+
<p>Additional metadata</p>
|
754
|
+
</div>
|
755
|
+
|
756
|
+
</li>
|
757
|
+
|
758
|
+
</ul>
|
759
|
+
|
760
|
+
|
761
|
+
</div><table class="source_code">
|
762
|
+
<tr>
|
763
|
+
<td>
|
764
|
+
<pre class="lines">
|
765
|
+
|
766
|
+
|
767
|
+
68
|
768
|
+
69
|
769
|
+
70</pre>
|
770
|
+
</td>
|
771
|
+
<td>
|
772
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 68</span>
|
773
|
+
|
774
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publish_step_event'>publish_step_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_step'>step</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
775
|
+
<span class='ivar'>@publisher</span><span class='period'>.</span><span class='id identifier rubyid_publish_step_event'>publish_step_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_step'>step</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
776
|
+
<span class='kw'>end</span></pre>
|
777
|
+
</td>
|
778
|
+
</tr>
|
779
|
+
</table>
|
780
|
+
</div>
|
781
|
+
|
782
|
+
<div class="method_details ">
|
783
|
+
<h3 class="signature " id="publish_task_event-instance_method">
|
784
|
+
|
785
|
+
#<strong>publish_task_event</strong>(event_name, task, metadata = {}) ⇒ <tt>Object</tt>
|
786
|
+
|
787
|
+
|
788
|
+
|
789
|
+
|
790
|
+
|
791
|
+
</h3><div class="docstring">
|
792
|
+
<div class="discussion">
|
793
|
+
|
794
|
+
<p>Publish a task event with standard payload</p>
|
795
|
+
|
796
|
+
|
797
|
+
</div>
|
798
|
+
</div>
|
799
|
+
<div class="tags">
|
800
|
+
<p class="tag_title">Parameters:</p>
|
801
|
+
<ul class="param">
|
802
|
+
|
803
|
+
<li>
|
804
|
+
|
805
|
+
<span class='name'>event_name</span>
|
806
|
+
|
807
|
+
|
808
|
+
<span class='type'>(<tt>String</tt>)</span>
|
809
|
+
|
810
|
+
|
811
|
+
|
812
|
+
—
|
813
|
+
<div class='inline'>
|
814
|
+
<p>The event name</p>
|
815
|
+
</div>
|
816
|
+
|
817
|
+
</li>
|
818
|
+
|
819
|
+
<li>
|
820
|
+
|
821
|
+
<span class='name'>task</span>
|
822
|
+
|
823
|
+
|
824
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
825
|
+
|
826
|
+
|
827
|
+
|
828
|
+
—
|
829
|
+
<div class='inline'>
|
830
|
+
<p>The task object</p>
|
831
|
+
</div>
|
832
|
+
|
833
|
+
</li>
|
834
|
+
|
835
|
+
<li>
|
836
|
+
|
837
|
+
<span class='name'>metadata</span>
|
838
|
+
|
839
|
+
|
840
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
841
|
+
|
842
|
+
|
843
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
844
|
+
|
845
|
+
|
846
|
+
—
|
847
|
+
<div class='inline'>
|
848
|
+
<p>Additional metadata</p>
|
849
|
+
</div>
|
850
|
+
|
851
|
+
</li>
|
852
|
+
|
853
|
+
</ul>
|
854
|
+
|
855
|
+
|
856
|
+
</div><table class="source_code">
|
857
|
+
<tr>
|
858
|
+
<td>
|
859
|
+
<pre class="lines">
|
860
|
+
|
861
|
+
|
862
|
+
59
|
863
|
+
60
|
864
|
+
61</pre>
|
865
|
+
</td>
|
866
|
+
<td>
|
867
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 59</span>
|
868
|
+
|
869
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publish_task_event'>publish_task_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
870
|
+
<span class='ivar'>@publisher</span><span class='period'>.</span><span class='id identifier rubyid_publish_task_event'>publish_task_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_task'>task</span><span class='comma'>,</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='rparen'>)</span>
|
871
|
+
<span class='kw'>end</span></pre>
|
872
|
+
</td>
|
873
|
+
</tr>
|
874
|
+
</table>
|
875
|
+
</div>
|
876
|
+
|
877
|
+
<div class="method_details ">
|
878
|
+
<h3 class="signature " id="publish_workflow_event-instance_method">
|
879
|
+
|
880
|
+
#<strong>publish_workflow_event</strong>(event_name, context = {}) ⇒ <tt>Object</tt>
|
881
|
+
|
882
|
+
|
883
|
+
|
884
|
+
|
885
|
+
|
886
|
+
</h3><div class="docstring">
|
887
|
+
<div class="discussion">
|
888
|
+
|
889
|
+
<p>Publish a workflow event with minimal payload</p>
|
890
|
+
|
891
|
+
|
892
|
+
</div>
|
893
|
+
</div>
|
894
|
+
<div class="tags">
|
895
|
+
<p class="tag_title">Parameters:</p>
|
896
|
+
<ul class="param">
|
897
|
+
|
898
|
+
<li>
|
899
|
+
|
900
|
+
<span class='name'>event_name</span>
|
901
|
+
|
902
|
+
|
903
|
+
<span class='type'>(<tt>String</tt>)</span>
|
904
|
+
|
905
|
+
|
906
|
+
|
907
|
+
—
|
908
|
+
<div class='inline'>
|
909
|
+
<p>The event name</p>
|
910
|
+
</div>
|
911
|
+
|
912
|
+
</li>
|
913
|
+
|
914
|
+
<li>
|
915
|
+
|
916
|
+
<span class='name'>context</span>
|
917
|
+
|
918
|
+
|
919
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
920
|
+
|
921
|
+
|
922
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
923
|
+
|
924
|
+
|
925
|
+
—
|
926
|
+
<div class='inline'>
|
927
|
+
<p>The event context</p>
|
928
|
+
</div>
|
929
|
+
|
930
|
+
</li>
|
931
|
+
|
932
|
+
</ul>
|
933
|
+
|
934
|
+
|
935
|
+
</div><table class="source_code">
|
936
|
+
<tr>
|
937
|
+
<td>
|
938
|
+
<pre class="lines">
|
939
|
+
|
940
|
+
|
941
|
+
76
|
942
|
+
77
|
943
|
+
78</pre>
|
944
|
+
</td>
|
945
|
+
<td>
|
946
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 76</span>
|
947
|
+
|
948
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_publish_workflow_event'>publish_workflow_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
949
|
+
<span class='ivar'>@publisher</span><span class='period'>.</span><span class='id identifier rubyid_publish_workflow_event'>publish_workflow_event</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
950
|
+
<span class='kw'>end</span></pre>
|
951
|
+
</td>
|
952
|
+
</tr>
|
953
|
+
</table>
|
954
|
+
</div>
|
955
|
+
|
956
|
+
<div class="method_details ">
|
957
|
+
<h3 class="signature " id="setup_default_subscribers-instance_method">
|
958
|
+
|
959
|
+
#<strong>setup_default_subscribers</strong> ⇒ <tt>Object</tt>
|
960
|
+
|
961
|
+
|
962
|
+
|
963
|
+
|
964
|
+
|
965
|
+
</h3><div class="docstring">
|
966
|
+
<div class="discussion">
|
967
|
+
|
968
|
+
<p>Initialize default subscribers</p>
|
969
|
+
|
970
|
+
|
971
|
+
</div>
|
972
|
+
</div>
|
973
|
+
<div class="tags">
|
974
|
+
|
975
|
+
|
976
|
+
</div><table class="source_code">
|
977
|
+
<tr>
|
978
|
+
<td>
|
979
|
+
<pre class="lines">
|
980
|
+
|
981
|
+
|
982
|
+
88
|
983
|
+
89
|
984
|
+
90
|
985
|
+
91
|
986
|
+
92
|
987
|
+
93</pre>
|
988
|
+
</td>
|
989
|
+
<td>
|
990
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 88</span>
|
991
|
+
|
992
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_setup_default_subscribers'>setup_default_subscribers</span>
|
993
|
+
<span class='comment'># Auto-load and subscribe telemetry subscriber
|
994
|
+
</span> <span class='kw'>return</span> <span class='kw'>unless</span> <span class='kw'>defined?</span><span class='lparen'>(</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="../Events.html" title="Tasker::Events (module)">Events</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Subscribers.html" title="Tasker::Events::Subscribers (module)">Subscribers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Subscribers/TelemetrySubscriber.html" title="Tasker::Events::Subscribers::TelemetrySubscriber (class)">TelemetrySubscriber</a></span></span><span class='rparen'>)</span>
|
995
|
+
|
996
|
+
<span class='id identifier rubyid_subscribe_object'>subscribe_object</span><span class='lparen'>(</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="../Events.html" title="Tasker::Events (module)">Events</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Subscribers.html" title="Tasker::Events::Subscribers (module)">Subscribers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Subscribers/TelemetrySubscriber.html" title="Tasker::Events::Subscribers::TelemetrySubscriber (class)">TelemetrySubscriber</a></span></span><span class='rparen'>)</span>
|
997
|
+
<span class='kw'>end</span></pre>
|
998
|
+
</td>
|
999
|
+
</tr>
|
1000
|
+
</table>
|
1001
|
+
</div>
|
1002
|
+
|
1003
|
+
<div class="method_details ">
|
1004
|
+
<h3 class="signature " id="subscribe-instance_method">
|
1005
|
+
|
1006
|
+
#<strong>subscribe</strong>(event_name, callable = nil, &block) ⇒ <tt>Object</tt>
|
1007
|
+
|
1008
|
+
|
1009
|
+
|
1010
|
+
|
1011
|
+
|
1012
|
+
</h3><div class="docstring">
|
1013
|
+
<div class="discussion">
|
1014
|
+
|
1015
|
+
<p>Subscribe a callable to an event</p>
|
1016
|
+
|
1017
|
+
|
1018
|
+
</div>
|
1019
|
+
</div>
|
1020
|
+
<div class="tags">
|
1021
|
+
<p class="tag_title">Parameters:</p>
|
1022
|
+
<ul class="param">
|
1023
|
+
|
1024
|
+
<li>
|
1025
|
+
|
1026
|
+
<span class='name'>event_name</span>
|
1027
|
+
|
1028
|
+
|
1029
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1030
|
+
|
1031
|
+
|
1032
|
+
|
1033
|
+
—
|
1034
|
+
<div class='inline'>
|
1035
|
+
<p>The event to subscribe to</p>
|
1036
|
+
</div>
|
1037
|
+
|
1038
|
+
</li>
|
1039
|
+
|
1040
|
+
<li>
|
1041
|
+
|
1042
|
+
<span class='name'>callable</span>
|
1043
|
+
|
1044
|
+
|
1045
|
+
<span class='type'>(<tt>Proc</tt>, <tt>Method</tt>)</span>
|
1046
|
+
|
1047
|
+
|
1048
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1049
|
+
|
1050
|
+
|
1051
|
+
—
|
1052
|
+
<div class='inline'>
|
1053
|
+
<p>The callback</p>
|
1054
|
+
</div>
|
1055
|
+
|
1056
|
+
</li>
|
1057
|
+
|
1058
|
+
</ul>
|
1059
|
+
|
1060
|
+
|
1061
|
+
</div><table class="source_code">
|
1062
|
+
<tr>
|
1063
|
+
<td>
|
1064
|
+
<pre class="lines">
|
1065
|
+
|
1066
|
+
|
1067
|
+
29
|
1068
|
+
30
|
1069
|
+
31
|
1070
|
+
32
|
1071
|
+
33</pre>
|
1072
|
+
</td>
|
1073
|
+
<td>
|
1074
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 29</span>
|
1075
|
+
|
1076
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='id identifier rubyid_callable'>callable</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1077
|
+
<span class='id identifier rubyid_handler'>handler</span> <span class='op'>=</span> <span class='id identifier rubyid_callable'>callable</span> <span class='op'>||</span> <span class='id identifier rubyid_block'>block</span>
|
1078
|
+
<span class='ivar'>@publisher</span><span class='period'>.</span><span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_handler'>handler</span><span class='rparen'>)</span>
|
1079
|
+
<span class='ivar'>@subscribers</span> <span class='op'><<</span> <span class='lbrace'>{</span> <span class='label'>event:</span> <span class='id identifier rubyid_event_name'>event_name</span><span class='comma'>,</span> <span class='label'>handler:</span> <span class='id identifier rubyid_handler'>handler</span> <span class='rbrace'>}</span>
|
1080
|
+
<span class='kw'>end</span></pre>
|
1081
|
+
</td>
|
1082
|
+
</tr>
|
1083
|
+
</table>
|
1084
|
+
</div>
|
1085
|
+
|
1086
|
+
<div class="method_details ">
|
1087
|
+
<h3 class="signature " id="subscribe_object-instance_method">
|
1088
|
+
|
1089
|
+
#<strong>subscribe_object</strong>(subscriber) ⇒ <tt>Object</tt>
|
1090
|
+
|
1091
|
+
|
1092
|
+
|
1093
|
+
|
1094
|
+
|
1095
|
+
</h3><div class="docstring">
|
1096
|
+
<div class="discussion">
|
1097
|
+
|
1098
|
+
<p>Subscribe an object that responds to event methods</p>
|
1099
|
+
|
1100
|
+
|
1101
|
+
</div>
|
1102
|
+
</div>
|
1103
|
+
<div class="tags">
|
1104
|
+
<p class="tag_title">Parameters:</p>
|
1105
|
+
<ul class="param">
|
1106
|
+
|
1107
|
+
<li>
|
1108
|
+
|
1109
|
+
<span class='name'>subscriber</span>
|
1110
|
+
|
1111
|
+
|
1112
|
+
<span class='type'>(<tt>Class</tt>)</span>
|
1113
|
+
|
1114
|
+
|
1115
|
+
|
1116
|
+
—
|
1117
|
+
<div class='inline'>
|
1118
|
+
<p>Subscriber class with a .subscribe class method</p>
|
1119
|
+
</div>
|
1120
|
+
|
1121
|
+
</li>
|
1122
|
+
|
1123
|
+
</ul>
|
1124
|
+
|
1125
|
+
|
1126
|
+
</div><table class="source_code">
|
1127
|
+
<tr>
|
1128
|
+
<td>
|
1129
|
+
<pre class="lines">
|
1130
|
+
|
1131
|
+
|
1132
|
+
38
|
1133
|
+
39
|
1134
|
+
40
|
1135
|
+
41
|
1136
|
+
42
|
1137
|
+
43
|
1138
|
+
44</pre>
|
1139
|
+
</td>
|
1140
|
+
<td>
|
1141
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 38</span>
|
1142
|
+
|
1143
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_subscribe_object'>subscribe_object</span><span class='lparen'>(</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='rparen'>)</span>
|
1144
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_subscriber'>subscriber</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:subscribe</span><span class='rparen'>)</span>
|
1145
|
+
<span class='id identifier rubyid_subscriber'>subscriber</span><span class='period'>.</span><span class='id identifier rubyid_subscribe'>subscribe</span><span class='lparen'>(</span><span class='ivar'>@publisher</span><span class='rparen'>)</span>
|
1146
|
+
<span class='kw'>else</span>
|
1147
|
+
<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_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Subscriber </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_subscriber'>subscriber</span><span class='embexpr_end'>}</span><span class='tstring_content'> does not implement .subscribe method</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1148
|
+
<span class='kw'>end</span>
|
1149
|
+
<span class='kw'>end</span></pre>
|
1150
|
+
</td>
|
1151
|
+
</tr>
|
1152
|
+
</table>
|
1153
|
+
</div>
|
1154
|
+
|
1155
|
+
<div class="method_details ">
|
1156
|
+
<h3 class="signature " id="subscribers-instance_method">
|
1157
|
+
|
1158
|
+
#<strong>subscribers</strong> ⇒ <tt>Array</tt>
|
1159
|
+
|
1160
|
+
|
1161
|
+
|
1162
|
+
|
1163
|
+
|
1164
|
+
</h3><div class="docstring">
|
1165
|
+
<div class="discussion">
|
1166
|
+
|
1167
|
+
<p>Get list of registered subscribers</p>
|
1168
|
+
|
1169
|
+
|
1170
|
+
</div>
|
1171
|
+
</div>
|
1172
|
+
<div class="tags">
|
1173
|
+
|
1174
|
+
<p class="tag_title">Returns:</p>
|
1175
|
+
<ul class="return">
|
1176
|
+
|
1177
|
+
<li>
|
1178
|
+
|
1179
|
+
|
1180
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
1181
|
+
|
1182
|
+
|
1183
|
+
|
1184
|
+
—
|
1185
|
+
<div class='inline'>
|
1186
|
+
<p>List of subscriber info</p>
|
1187
|
+
</div>
|
1188
|
+
|
1189
|
+
</li>
|
1190
|
+
|
1191
|
+
</ul>
|
1192
|
+
|
1193
|
+
</div><table class="source_code">
|
1194
|
+
<tr>
|
1195
|
+
<td>
|
1196
|
+
<pre class="lines">
|
1197
|
+
|
1198
|
+
|
1199
|
+
83
|
1200
|
+
84
|
1201
|
+
85</pre>
|
1202
|
+
</td>
|
1203
|
+
<td>
|
1204
|
+
<pre class="code"><span class="info file"># File 'lib/tasker/events/bus.rb', line 83</span>
|
1205
|
+
|
1206
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_subscribers'>subscribers</span>
|
1207
|
+
<span class='ivar'>@subscribers</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
1208
|
+
<span class='kw'>end</span></pre>
|
1209
|
+
</td>
|
1210
|
+
</tr>
|
1211
|
+
</table>
|
1212
|
+
</div>
|
1213
|
+
|
1214
|
+
</div>
|
1215
|
+
|
1216
|
+
</div>
|
1217
|
+
|
1218
|
+
<div id="footer">
|
1219
|
+
Generated on Sat May 31 00:05:07 2025 by
|
1220
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1221
|
+
0.9.37 (ruby-3.2.4).
|
1222
|
+
</div>
|
1223
|
+
|
1224
|
+
</div>
|
1225
|
+
</body>
|
1226
|
+
</html>
|