tasker-engine 1.0.5 → 1.0.6
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 +4 -4
- data/README.md +4 -4
- data/app/controllers/tasker/analytics_controller.rb +2 -2
- data/app/controllers/tasker/graphql_controller.rb +3 -3
- data/app/controllers/tasker/health_controller.rb +1 -1
- data/app/controllers/tasker/metrics_controller.rb +3 -3
- data/app/jobs/tasker/metrics_export_job.rb +1 -1
- data/app/models/tasker/application_record.rb +5 -5
- data/app/models/tasker/task.rb +1 -1
- data/db/functions/get_step_readiness_status_single_and_batch_v02.sql +2 -2
- data/docs/AUTH.md +11 -11
- data/docs/DEVELOPER_GUIDE.md +6 -6
- data/docs/EXECUTION_CONFIGURATION.md +1 -1
- data/docs/HEALTH.md +3 -3
- data/docs/METRICS.md +4 -4
- data/docs/OPTIMIZATION_PLAN.md +3 -3
- data/docs/QUICK_START.md +1 -1
- data/docs/REST_API.md +1 -1
- data/docs/TELEMETRY.md +5 -5
- data/docs/TROUBLESHOOTING.md +2 -2
- data/docs/TaskHandlerGenerator.html +55 -55
- data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +1 -1
- data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1 -1
- data/docs/Tasker/Analysis.html +1 -1
- data/docs/Tasker/AnalyticsController.html +1 -1
- data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +1 -1
- data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +1 -1
- data/docs/Tasker/AnalyticsService.html +1 -1
- data/docs/Tasker/AnnotationType.html +1 -1
- data/docs/Tasker/AnnotationTypeSerializer.html +1 -1
- data/docs/Tasker/ApplicationController.html +1 -1
- data/docs/Tasker/ApplicationJob.html +1 -1
- data/docs/Tasker/ApplicationRecord.html +6 -6
- data/docs/Tasker/Authentication/AuthenticationError.html +1 -1
- data/docs/Tasker/Authentication/ConfigurationError.html +1 -1
- data/docs/Tasker/Authentication/Coordinator.html +1 -1
- data/docs/Tasker/Authentication/Interface.html +1 -1
- data/docs/Tasker/Authentication/InterfaceError.html +1 -1
- data/docs/Tasker/Authentication/NoneAuthenticator.html +1 -1
- data/docs/Tasker/Authentication.html +1 -1
- data/docs/Tasker/Authorization/AuthorizationError.html +1 -1
- data/docs/Tasker/Authorization/BaseCoordinator.html +2 -2
- data/docs/Tasker/Authorization/ConfigurationError.html +1 -1
- data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +1 -1
- data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +1 -1
- data/docs/Tasker/Authorization/ResourceConstants.html +1 -1
- data/docs/Tasker/Authorization/ResourceRegistry.html +1 -1
- data/docs/Tasker/Authorization/UnauthorizedError.html +1 -1
- data/docs/Tasker/Authorization.html +2 -2
- data/docs/Tasker/CacheCapabilities.html +1 -1
- data/docs/Tasker/CacheStrategy.html +1 -1
- data/docs/Tasker/Concerns/Authenticatable.html +1 -1
- data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +1 -1
- data/docs/Tasker/Concerns/Authorizable.html +1 -1
- data/docs/Tasker/Concerns/ControllerAuthorizable.html +1 -1
- data/docs/Tasker/Concerns/EventPublisher.html +1 -1
- data/docs/Tasker/Concerns/IdempotentStateTransitions.html +1 -1
- data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1 -1
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +1 -1
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +1 -1
- data/docs/Tasker/Concerns/StateMachineBase.html +1 -1
- data/docs/Tasker/Concerns/StructuredLogging.html +1 -1
- data/docs/Tasker/Concerns.html +1 -1
- data/docs/Tasker/Configuration/ConfigurationProxy.html +1 -1
- data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +1 -1
- data/docs/Tasker/Configuration.html +1 -1
- data/docs/Tasker/ConfigurationError.html +1 -1
- data/docs/Tasker/ConfiguredTask.html +2 -2
- data/docs/Tasker/Constants/EventDefinitions.html +1 -1
- data/docs/Tasker/Constants/ObservabilityEvents/Step.html +1 -1
- data/docs/Tasker/Constants/ObservabilityEvents/Task.html +1 -1
- data/docs/Tasker/Constants/ObservabilityEvents.html +1 -1
- data/docs/Tasker/Constants/RegistryEvents.html +1 -1
- data/docs/Tasker/Constants/StepEvents.html +1 -1
- data/docs/Tasker/Constants/TaskEvents.html +1 -1
- data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +1 -1
- data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +1 -1
- data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +1 -1
- data/docs/Tasker/Constants/TaskExecution.html +1 -1
- data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +1 -1
- data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +1 -1
- data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +1 -1
- data/docs/Tasker/Constants/TaskFinalization.html +1 -1
- data/docs/Tasker/Constants/TaskStatuses.html +1 -1
- data/docs/Tasker/Constants/TestEvents.html +1 -1
- data/docs/Tasker/Constants/WorkflowEvents.html +1 -1
- data/docs/Tasker/Constants/WorkflowStepStatuses.html +1 -1
- data/docs/Tasker/Constants.html +1 -1
- data/docs/Tasker/DependentSystem.html +1 -1
- data/docs/Tasker/DependentSystemObjectMap.html +1 -1
- data/docs/Tasker/DetectorRegistry.html +1 -1
- data/docs/Tasker/Engine.html +1 -1
- data/docs/Tasker/Error.html +1 -1
- data/docs/Tasker/Events/Catalog/CatalogPrinter.html +1 -1
- data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +1 -1
- data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +1 -1
- data/docs/Tasker/Events/Catalog.html +1 -1
- data/docs/Tasker/Events/CustomRegistry.html +1 -1
- data/docs/Tasker/Events/DefinitionLoader.html +1 -1
- data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +1 -1
- data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +1 -1
- data/docs/Tasker/Events/EventPayloadBuilder.html +1 -1
- data/docs/Tasker/Events/Publisher.html +1 -1
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1 -1
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +1 -1
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +1 -1
- data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +1 -1
- data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +2 -2
- data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +5 -5
- data/docs/Tasker/Events/Subscribers.html +1 -1
- data/docs/Tasker/Events/SubscriptionLoader.html +1 -1
- data/docs/Tasker/Events.html +1 -1
- data/docs/Tasker/EventsGenerator.html +2 -2
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +1 -1
- data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1 -1
- data/docs/Tasker/Functions/FunctionWrapper.html +1 -1
- data/docs/Tasker/Functions.html +1 -1
- data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +1 -1
- data/docs/Tasker/Generators/AuthenticatorGenerator.html +1 -1
- data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +1 -1
- data/docs/Tasker/Generators/SubscriberGenerator.html +1 -1
- data/docs/Tasker/Generators/TaskHandlerGenerator.html +4 -4
- data/docs/Tasker/Generators.html +1 -1
- data/docs/Tasker/GraphQLTypes/AnnotationType.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseArgument.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseConnection.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseEdge.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseEnum.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseField.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseInputObject.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseInterface.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseObject.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseScalar.html +1 -1
- data/docs/Tasker/GraphQLTypes/BaseUnion.html +1 -1
- data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +1 -1
- data/docs/Tasker/GraphQLTypes/DependentSystemType.html +1 -1
- data/docs/Tasker/GraphQLTypes/MutationType.html +1 -1
- data/docs/Tasker/GraphQLTypes/NamedStepType.html +1 -1
- data/docs/Tasker/GraphQLTypes/NamedTaskType.html +1 -1
- data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +1 -1
- data/docs/Tasker/GraphQLTypes/NodeType.html +1 -1
- data/docs/Tasker/GraphQLTypes/QueryType.html +1 -1
- data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +1 -1
- data/docs/Tasker/GraphQLTypes/TaskInterface.html +1 -1
- data/docs/Tasker/GraphQLTypes/TaskType.html +1 -1
- data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +1 -1
- data/docs/Tasker/GraphQLTypes.html +1 -1
- data/docs/Tasker/GraphqlController.html +1 -1
- data/docs/Tasker/HandlerFactory.html +1 -1
- data/docs/Tasker/HandlerSerializer.html +1 -1
- data/docs/Tasker/HandlersController.html +1 -1
- data/docs/Tasker/HashIdentityStrategy.html +1 -1
- data/docs/Tasker/Health/ReadinessChecker.html +2 -2
- data/docs/Tasker/Health/StatusChecker.html +2 -2
- data/docs/Tasker/Health.html +1 -1
- data/docs/Tasker/HealthController.html +1 -1
- data/docs/Tasker/IdentityStrategy.html +1 -1
- data/docs/Tasker/InvalidTaskHandlerConfig.html +1 -1
- data/docs/Tasker/Logging/CorrelationIdGenerator.html +2 -2
- data/docs/Tasker/Logging.html +1 -1
- data/docs/Tasker/MetricsController.html +1 -1
- data/docs/Tasker/MetricsExportJob.html +1 -1
- data/docs/Tasker/Mutations/BaseMutation.html +1 -1
- data/docs/Tasker/Mutations/CancelStep.html +1 -1
- data/docs/Tasker/Mutations/CancelTask.html +1 -1
- data/docs/Tasker/Mutations/CreateTask.html +1 -1
- data/docs/Tasker/Mutations/UpdateStep.html +1 -1
- data/docs/Tasker/Mutations/UpdateTask.html +1 -1
- data/docs/Tasker/Mutations.html +1 -1
- data/docs/Tasker/NamedStep.html +1 -1
- data/docs/Tasker/NamedTask.html +1 -1
- data/docs/Tasker/NamedTasksNamedStep.html +1 -1
- data/docs/Tasker/Orchestration/BackoffCalculator.html +1 -1
- data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +1 -1
- data/docs/Tasker/Orchestration/ConnectionBuilder.html +2 -2
- data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +3 -3
- data/docs/Tasker/Orchestration/Coordinator.html +1 -1
- data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1 -1
- data/docs/Tasker/Orchestration/PluginIntegration.html +1 -1
- data/docs/Tasker/Orchestration/ResponseProcessor.html +1 -1
- data/docs/Tasker/Orchestration/RetryHeaderParser.html +1 -1
- data/docs/Tasker/Orchestration/StepExecutor.html +4 -4
- data/docs/Tasker/Orchestration/StepSequenceFactory.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +2 -2
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +1 -1
- data/docs/Tasker/Orchestration/TaskFinalizer.html +1 -1
- data/docs/Tasker/Orchestration/TaskInitializer.html +1 -1
- data/docs/Tasker/Orchestration/TaskReenqueuer.html +1 -1
- data/docs/Tasker/Orchestration/ViableStepDiscovery.html +1 -1
- data/docs/Tasker/Orchestration/WorkflowCoordinator.html +1 -1
- data/docs/Tasker/Orchestration.html +1 -1
- data/docs/Tasker/PageSort/PageSortParamsBuilder.html +1 -1
- data/docs/Tasker/PageSort.html +1 -1
- data/docs/Tasker/PermanentError.html +1 -1
- data/docs/Tasker/ProceduralError.html +1 -1
- data/docs/Tasker/Queries/AllAnnotationTypes.html +1 -1
- data/docs/Tasker/Queries/AllTasks.html +1 -1
- data/docs/Tasker/Queries/BaseQuery.html +1 -1
- data/docs/Tasker/Queries/Helpers.html +1 -1
- data/docs/Tasker/Queries/OneStep.html +1 -1
- data/docs/Tasker/Queries/OneTask.html +1 -1
- data/docs/Tasker/Queries/TasksByAnnotation.html +1 -1
- data/docs/Tasker/Queries/TasksByStatus.html +1 -1
- data/docs/Tasker/Queries.html +1 -1
- data/docs/Tasker/Railtie.html +1 -1
- data/docs/Tasker/Registry/BaseRegistry.html +2 -2
- data/docs/Tasker/Registry/EventPublisher.html +1 -1
- data/docs/Tasker/Registry/InterfaceValidator.html +1 -1
- data/docs/Tasker/Registry/RegistrationError.html +1 -1
- data/docs/Tasker/Registry/RegistryError.html +1 -1
- data/docs/Tasker/Registry/StatisticsCollector.html +1 -1
- data/docs/Tasker/Registry/SubscriberRegistry.html +1 -1
- data/docs/Tasker/Registry/ValidationError.html +1 -1
- data/docs/Tasker/Registry.html +1 -1
- data/docs/Tasker/RetryableError.html +1 -1
- data/docs/Tasker/StateMachine/Compatibility.html +1 -1
- data/docs/Tasker/StateMachine/InvalidStateTransition.html +1 -1
- data/docs/Tasker/StateMachine/StepStateMachine.html +1 -1
- data/docs/Tasker/StateMachine/TaskStateMachine.html +1 -1
- data/docs/Tasker/StateMachine.html +1 -1
- data/docs/Tasker/StepDagRelationship.html +1 -1
- data/docs/Tasker/StepHandler/Api/Config.html +1 -1
- data/docs/Tasker/StepHandler/Api.html +1 -1
- data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +1 -1
- data/docs/Tasker/StepHandler/Base.html +1 -1
- data/docs/Tasker/StepHandler.html +1 -1
- data/docs/Tasker/StepReadinessStatus.html +1 -1
- data/docs/Tasker/Task.html +1 -1
- data/docs/Tasker/TaskAnnotation.html +1 -1
- data/docs/Tasker/TaskAnnotationSerializer.html +1 -1
- data/docs/Tasker/TaskBuilder/StepNameValidator.html +1 -1
- data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +1 -1
- data/docs/Tasker/TaskBuilder.html +1 -1
- data/docs/Tasker/TaskExecutionContext.html +1 -1
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +1 -1
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +1 -1
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +1 -1
- data/docs/Tasker/TaskHandler/ClassMethods.html +1 -1
- data/docs/Tasker/TaskHandler/InstanceMethods.html +1 -1
- data/docs/Tasker/TaskHandler/StepGroup.html +1 -1
- data/docs/Tasker/TaskHandler.html +1 -1
- data/docs/Tasker/TaskNamespace.html +1 -1
- data/docs/Tasker/TaskRunnerJob.html +1 -1
- data/docs/Tasker/TaskSerializer.html +1 -1
- data/docs/Tasker/TaskTransition.html +1 -1
- data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +1 -1
- data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +1 -1
- data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +1 -1
- data/docs/Tasker/TaskerRailsSchema.html +1 -1
- data/docs/Tasker/TasksController.html +1 -1
- data/docs/Tasker/Telemetry/EventMapping.html +1 -1
- data/docs/Tasker/Telemetry/EventRouter.html +1 -1
- data/docs/Tasker/Telemetry/Events/ExportEvents.html +1 -1
- data/docs/Tasker/Telemetry/Events.html +1 -1
- data/docs/Tasker/Telemetry/ExportCoordinator.html +1 -1
- data/docs/Tasker/Telemetry/IntelligentCacheManager.html +2 -2
- data/docs/Tasker/Telemetry/LogBackend.html +1 -1
- data/docs/Tasker/Telemetry/MetricTypes/Counter.html +2 -2
- data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +73 -73
- data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +103 -103
- data/docs/Tasker/Telemetry/MetricTypes.html +1 -1
- data/docs/Tasker/Telemetry/MetricsBackend.html +1 -1
- data/docs/Tasker/Telemetry/MetricsExportService.html +1 -1
- data/docs/Tasker/Telemetry/PluginRegistry.html +1 -1
- data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1 -1
- data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +1 -1
- data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +1 -1
- data/docs/Tasker/Telemetry/Plugins.html +1 -1
- data/docs/Tasker/Telemetry/PrometheusExporter.html +1 -1
- data/docs/Tasker/Telemetry/TraceBackend.html +1 -1
- data/docs/Tasker/Telemetry.html +1 -1
- data/docs/Tasker/Types/AuthConfig.html +1 -1
- data/docs/Tasker/Types/BackoffConfig.html +1 -1
- data/docs/Tasker/Types/BaseConfig.html +1 -1
- data/docs/Tasker/Types/CacheConfig.html +1 -1
- data/docs/Tasker/Types/DatabaseConfig.html +1 -1
- data/docs/Tasker/Types/DependencyGraph.html +1 -1
- data/docs/Tasker/Types/DependencyGraphConfig.html +1 -1
- data/docs/Tasker/Types/EngineConfig.html +1 -1
- data/docs/Tasker/Types/ExecutionConfig.html +1 -1
- data/docs/Tasker/Types/GraphEdge.html +1 -1
- data/docs/Tasker/Types/GraphMetadata.html +1 -1
- data/docs/Tasker/Types/GraphNode.html +1 -1
- data/docs/Tasker/Types/HealthConfig.html +1 -1
- data/docs/Tasker/Types/StepSequence.html +1 -1
- data/docs/Tasker/Types/StepTemplate.html +1 -1
- data/docs/Tasker/Types/TaskRequest.html +1 -1
- data/docs/Tasker/Types/TelemetryConfig.html +2 -2
- data/docs/Tasker/Types.html +1 -1
- data/docs/Tasker/WorkflowStep/StepFinder.html +1 -1
- data/docs/Tasker/WorkflowStep.html +1 -1
- data/docs/Tasker/WorkflowStepEdge.html +1 -1
- data/docs/Tasker/WorkflowStepSerializer.html +1 -1
- data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +1 -1
- data/docs/Tasker/WorkflowStepTransition.html +1 -1
- data/docs/Tasker/WorkflowStepsController.html +1 -1
- data/docs/Tasker.html +18 -2
- data/docs/VISION.md +1 -1
- data/docs/_index.html +1 -1
- data/docs/file.README.html +5 -5
- data/docs/index.html +5 -5
- data/docs/method_list.html +74 -74
- data/docs/top-level-namespace.html +1 -1
- data/lib/generators/tasker/authenticator_generator.rb +5 -5
- data/lib/generators/tasker/authorization_coordinator_generator.rb +1 -1
- data/lib/generators/tasker/events_generator.rb +1 -1
- data/lib/generators/tasker/task_handler_generator.rb +4 -4
- data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +1 -1
- data/lib/generators/tasker/templates/custom_authenticator.rb.erb +1 -1
- data/lib/generators/tasker/templates/devise_authenticator.rb.erb +1 -1
- data/lib/generators/tasker/templates/initialize.rb.erb +1 -1
- data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +1 -1
- data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +1 -1
- data/lib/generators/tasker/templates/opentelemetry_initializer.rb +3 -3
- data/lib/generators/tasker/templates/task_config.yaml.erb +25 -25
- data/lib/generators/tasker/templates/task_handler.rb.erb +3 -2
- data/lib/generators/tasker/templates/task_handler_spec.rb.erb +49 -43
- data/lib/tasker/analysis/runtime_graph_analyzer.rb +1 -1
- data/lib/tasker/authentication/coordinator.rb +2 -2
- data/lib/tasker/authorization/base_coordinator.rb +1 -1
- data/lib/tasker/authorization.rb +1 -1
- data/lib/tasker/concerns/authenticatable.rb +1 -1
- data/lib/tasker/concerns/controller_authorizable.rb +3 -3
- data/lib/tasker/concerns/structured_logging.rb +2 -2
- data/lib/tasker/events/definition_loader.rb +1 -1
- data/lib/tasker/events/subscribers/metrics_subscriber.rb +1 -1
- data/lib/tasker/events/subscribers/telemetry_subscriber.rb +5 -5
- data/lib/tasker/health/readiness_checker.rb +1 -1
- data/lib/tasker/health/status_checker.rb +1 -1
- data/lib/tasker/logging/correlation_id_generator.rb +1 -1
- data/lib/tasker/orchestration/backoff_calculator.rb +1 -1
- data/lib/tasker/orchestration/connection_builder.rb +1 -1
- data/lib/tasker/orchestration/connection_pool_intelligence.rb +3 -3
- data/lib/tasker/orchestration/step_executor.rb +2 -2
- data/lib/tasker/orchestration/task_finalizer.rb +1 -1
- data/lib/tasker/registry/base_registry.rb +1 -1
- data/lib/tasker/task_builder.rb +1 -1
- data/lib/tasker/telemetry/intelligent_cache_manager.rb +1 -1
- data/lib/tasker/telemetry/metric_types.rb +57 -9
- data/lib/tasker/telemetry/metrics_backend.rb +3 -3
- data/lib/tasker/telemetry/metrics_export_service.rb +1 -1
- data/lib/tasker/telemetry/prometheus_exporter.rb +2 -2
- data/lib/tasker/types/telemetry_config.rb +1 -1
- data/lib/tasker/version.rb +2 -1
- data/lib/tasks/tasker_tasks.rake +85 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ed327951ad40da16f59c60f5cf82f170a2d7a2b5559fc412f2077b08feb7b77
|
4
|
+
data.tar.gz: 369fff45d9d9fb7dd440265b8b13f275343f5099df9b28f5277b43e1b7d5fb9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a993526c07e104acf1e8283d071b310ac673dfb3a4c7e81b54928f61e7f89ff33ff319bce3b1ece13df9c511106c59d985bafcbbd71cbb22af08551c3e34a6c
|
7
|
+
data.tar.gz: db0201d9f587d7056e022bda45cb527e77d2b1d09846d1f7810e563981b98c91098e93d5feaa01e903898a13595bc94c390feb48d5d36343ef3692d09426ae9b
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ Perfect for processes that involve multiple interdependent steps, require automa
|
|
28
28
|
Add Tasker to your Rails app's `Gemfile`:
|
29
29
|
|
30
30
|
```ruby
|
31
|
-
gem 'tasker-engine', '~> 1.0.
|
31
|
+
gem 'tasker-engine', '~> 1.0.6'
|
32
32
|
```
|
33
33
|
|
34
34
|
Install and run the migrations:
|
@@ -192,7 +192,7 @@ Tasker includes enterprise-grade security that works with any Rails authenticati
|
|
192
192
|
|
193
193
|
```ruby
|
194
194
|
# config/initializers/tasker.rb
|
195
|
-
Tasker.configuration do |config|
|
195
|
+
Tasker::Configuration.configuration do |config|
|
196
196
|
config.auth do |auth|
|
197
197
|
auth.authentication_enabled = true
|
198
198
|
auth.authenticator_class = 'YourAuthenticator'
|
@@ -288,7 +288,7 @@ Built-in OpenTelemetry integration provides complete observability:
|
|
288
288
|
|
289
289
|
```ruby
|
290
290
|
# config/initializers/tasker.rb
|
291
|
-
Tasker.configuration do |config|
|
291
|
+
Tasker::Configuration.configuration do |config|
|
292
292
|
config.telemetry do |tel|
|
293
293
|
tel.enabled = true
|
294
294
|
tel.service_name = 'my-app-workflows'
|
@@ -347,7 +347,7 @@ GET /tasker/health/status
|
|
347
347
|
**Optional Authentication & Authorization**:
|
348
348
|
```ruby
|
349
349
|
# config/initializers/tasker.rb
|
350
|
-
Tasker.configuration do |config|
|
350
|
+
Tasker::Configuration.configuration do |config|
|
351
351
|
config.health do |health|
|
352
352
|
health.status_requires_authentication = true # Secure detailed status
|
353
353
|
end
|
@@ -158,7 +158,7 @@ module Tasker
|
|
158
158
|
#
|
159
159
|
# @return [Boolean] True if authentication should be skipped
|
160
160
|
def skip_authentication?
|
161
|
-
!Tasker.configuration.telemetry.metrics_auth_required
|
161
|
+
!Tasker::Configuration.configuration.telemetry.metrics_auth_required
|
162
162
|
end
|
163
163
|
|
164
164
|
# Override authorization check for analytics endpoint
|
@@ -166,7 +166,7 @@ module Tasker
|
|
166
166
|
#
|
167
167
|
# @return [Boolean] True if authorization should be skipped
|
168
168
|
def skip_authorization?
|
169
|
-
!Tasker.configuration.telemetry.metrics_auth_required
|
169
|
+
!Tasker::Configuration.configuration.telemetry.metrics_auth_required
|
170
170
|
end
|
171
171
|
|
172
172
|
# Set appropriate cache control headers for analytics endpoints
|
@@ -68,7 +68,7 @@ module Tasker
|
|
68
68
|
# Authorization methods for GraphQL operations
|
69
69
|
|
70
70
|
def authorization_enabled?
|
71
|
-
Tasker.configuration.auth.authorization_enabled
|
71
|
+
Tasker::Configuration.configuration.auth.authorization_enabled
|
72
72
|
end
|
73
73
|
|
74
74
|
def authorize_graphql_operations!(query_string, operation_name)
|
@@ -173,10 +173,10 @@ module Tasker
|
|
173
173
|
end
|
174
174
|
|
175
175
|
def build_authorization_coordinator
|
176
|
-
coordinator_class = Tasker.configuration.auth.authorization_coordinator_class.constantize
|
176
|
+
coordinator_class = Tasker::Configuration.configuration.auth.authorization_coordinator_class.constantize
|
177
177
|
coordinator_class.new(current_tasker_user)
|
178
178
|
rescue NameError => e
|
179
|
-
coordinator_class_name = Tasker.configuration.auth.authorization_coordinator_class
|
179
|
+
coordinator_class_name = Tasker::Configuration.configuration.auth.authorization_coordinator_class
|
180
180
|
raise Tasker::Authorization::ConfigurationError,
|
181
181
|
"Authorization coordinator class '#{coordinator_class_name}' not found: #{e.message}"
|
182
182
|
end
|
@@ -62,7 +62,7 @@ module Tasker
|
|
62
62
|
#
|
63
63
|
# @return [Boolean] True if authentication should be skipped
|
64
64
|
def skip_authentication?
|
65
|
-
!Tasker.configuration.telemetry.metrics_auth_required
|
65
|
+
!Tasker::Configuration.configuration.telemetry.metrics_auth_required
|
66
66
|
end
|
67
67
|
|
68
68
|
# Override authorization check for metrics endpoint
|
@@ -70,7 +70,7 @@ module Tasker
|
|
70
70
|
#
|
71
71
|
# @return [Boolean] True if authorization should be skipped
|
72
72
|
def skip_authorization?
|
73
|
-
!Tasker.configuration.telemetry.metrics_auth_required
|
73
|
+
!Tasker::Configuration.configuration.telemetry.metrics_auth_required
|
74
74
|
end
|
75
75
|
|
76
76
|
# Export metrics using PrometheusExporter
|
@@ -87,7 +87,7 @@ module Tasker
|
|
87
87
|
#
|
88
88
|
# @return [Boolean] True if metrics are enabled
|
89
89
|
def metrics_enabled?
|
90
|
-
Tasker.configuration.telemetry.metrics_enabled
|
90
|
+
Tasker::Configuration.configuration.telemetry.metrics_enabled
|
91
91
|
end
|
92
92
|
|
93
93
|
# Response when metrics are disabled
|
@@ -134,7 +134,7 @@ module Tasker
|
|
134
134
|
# @return [Integer] Timeout duration in seconds
|
135
135
|
def job_timeout_duration
|
136
136
|
prometheus_config = begin
|
137
|
-
Tasker.configuration.telemetry.prometheus
|
137
|
+
Tasker::Configuration.configuration.telemetry.prometheus
|
138
138
|
rescue StandardError
|
139
139
|
{}
|
140
140
|
end
|
@@ -9,12 +9,12 @@ module Tasker
|
|
9
9
|
# When secondary database is enabled, it connects to a database named 'tasker' in database.yml.
|
10
10
|
#
|
11
11
|
# @example Basic usage with shared database (default)
|
12
|
-
# Tasker.configuration do |config|
|
12
|
+
# Tasker::Configuration.configuration do |config|
|
13
13
|
# config.database.enable_secondary_database = false
|
14
14
|
# end
|
15
15
|
#
|
16
16
|
# @example Using a dedicated Tasker database
|
17
|
-
# Tasker.configuration do |config|
|
17
|
+
# Tasker::Configuration.configuration do |config|
|
18
18
|
# config.database.enable_secondary_database = true
|
19
19
|
# config.database.name = :tasker
|
20
20
|
# end
|
@@ -35,13 +35,13 @@ module Tasker
|
|
35
35
|
# This follows Rails multi-database conventions but only when database is actually available
|
36
36
|
def self.configure_database_connections
|
37
37
|
# Ensure Tasker configuration is available - fail fast if not
|
38
|
-
unless defined?(Tasker.configuration)
|
39
|
-
error_message = 'Tasker.configuration is not available. This indicates a Rails initialization order issue. ' \
|
38
|
+
unless defined?(::Tasker::Configuration.configuration)
|
39
|
+
error_message = 'Tasker::Configuration.configuration is not available. This indicates a Rails initialization order issue. ' \
|
40
40
|
'Ensure Tasker is properly initialized before models are loaded.'
|
41
41
|
raise StandardError, error_message
|
42
42
|
end
|
43
43
|
|
44
|
-
config = Tasker.configuration.database
|
44
|
+
config = ::Tasker::Configuration.configuration.database
|
45
45
|
if config.enable_secondary_database && config.name.present?
|
46
46
|
# Check if the database configuration actually exists before calling connects_to
|
47
47
|
if database_configuration_exists?(config.name)
|
data/app/models/tasker/task.rb
CHANGED
@@ -401,7 +401,7 @@ module Tasker
|
|
401
401
|
#
|
402
402
|
# @return [Object] The identity strategy instance
|
403
403
|
def identity_strategy
|
404
|
-
@identity_strategy ||= Tasker.configuration.engine.identity_strategy_instance
|
404
|
+
@identity_strategy ||= Tasker::Configuration.configuration.engine.identity_strategy_instance
|
405
405
|
end
|
406
406
|
|
407
407
|
# Sets the identity hash for this task using the configured identity strategy
|
@@ -2,7 +2,7 @@
|
|
2
2
|
-- When attempts is NULL, it should be treated as 0 for comparison purposes
|
3
3
|
|
4
4
|
-- Update get_step_readiness_status function
|
5
|
-
CREATE OR REPLACE FUNCTION
|
5
|
+
CREATE OR REPLACE FUNCTION get_step_readiness_status(input_task_id bigint, step_ids bigint[] DEFAULT NULL::bigint[]) RETURNS TABLE(workflow_step_id bigint, task_id bigint, named_step_id integer, name text, current_state text, dependencies_satisfied boolean, retry_eligible boolean, ready_for_execution boolean, last_failure_at timestamp without time zone, next_retry_at timestamp without time zone, total_parents integer, completed_parents integer, attempts integer, retry_limit integer, backoff_request_seconds integer, last_attempted_at timestamp without time zone)
|
6
6
|
LANGUAGE plpgsql STABLE
|
7
7
|
AS $$
|
8
8
|
BEGIN
|
@@ -114,7 +114,7 @@ END;
|
|
114
114
|
$$;
|
115
115
|
|
116
116
|
-- Also update the batch version
|
117
|
-
CREATE OR REPLACE FUNCTION
|
117
|
+
CREATE OR REPLACE FUNCTION get_step_readiness_status_batch(input_task_ids bigint[]) RETURNS TABLE(workflow_step_id bigint, task_id bigint, named_step_id integer, name text, current_state text, dependencies_satisfied boolean, retry_eligible boolean, ready_for_execution boolean, last_failure_at timestamp without time zone, next_retry_at timestamp without time zone, total_parents integer, completed_parents integer, attempts integer, retry_limit integer, backoff_request_seconds integer, last_attempted_at timestamp without time zone)
|
118
118
|
LANGUAGE plpgsql STABLE
|
119
119
|
AS $$
|
120
120
|
BEGIN
|
data/docs/AUTH.md
CHANGED
@@ -57,7 +57,7 @@ By default, Tasker requires no authentication:
|
|
57
57
|
|
58
58
|
```ruby
|
59
59
|
# config/initializers/tasker.rb
|
60
|
-
Tasker.configuration do |config|
|
60
|
+
Tasker::Configuration.configuration do |config|
|
61
61
|
config.auth do |auth|
|
62
62
|
auth.authentication_enabled = false # Default - no configuration needed
|
63
63
|
end
|
@@ -70,7 +70,7 @@ For any authentication system, enable authentication and specify your authentica
|
|
70
70
|
|
71
71
|
```ruby
|
72
72
|
# config/initializers/tasker.rb
|
73
|
-
Tasker.configuration do |config|
|
73
|
+
Tasker::Configuration.configuration do |config|
|
74
74
|
config.auth do |auth|
|
75
75
|
auth.authentication_enabled = true
|
76
76
|
auth.authenticator_class = 'YourCustomAuthenticator'
|
@@ -85,7 +85,7 @@ Enable both authentication and authorization for complete security:
|
|
85
85
|
|
86
86
|
```ruby
|
87
87
|
# config/initializers/tasker.rb
|
88
|
-
Tasker.configuration do |config|
|
88
|
+
Tasker::Configuration.configuration do |config|
|
89
89
|
config.auth do |auth|
|
90
90
|
auth.authentication_enabled = true
|
91
91
|
auth.authenticator_class = 'YourCustomAuthenticator'
|
@@ -104,7 +104,7 @@ Authorization in Tasker uses a **resource:action** permission model that works s
|
|
104
104
|
|
105
105
|
```ruby
|
106
106
|
# config/initializers/tasker.rb
|
107
|
-
Tasker.configuration do |config|
|
107
|
+
Tasker::Configuration.configuration do |config|
|
108
108
|
config.auth do |auth|
|
109
109
|
auth.authorization_enabled = true
|
110
110
|
auth.authorization_coordinator_class = 'YourAuthorizationCoordinator'
|
@@ -232,7 +232,7 @@ Enable health status authorization:
|
|
232
232
|
|
233
233
|
```ruby
|
234
234
|
# config/initializers/tasker.rb
|
235
|
-
Tasker.configuration do |config|
|
235
|
+
Tasker::Configuration.configuration do |config|
|
236
236
|
config.auth do |auth|
|
237
237
|
auth.authorization_enabled = true
|
238
238
|
auth.authorization_coordinator_class = 'YourAuthorizationCoordinator'
|
@@ -464,7 +464,7 @@ rails generate tasker:authenticator CompanyJWT --type=jwt --user-class=User
|
|
464
464
|
### Authentication Configuration Block
|
465
465
|
|
466
466
|
```ruby
|
467
|
-
Tasker.configuration do |config|
|
467
|
+
Tasker::Configuration.configuration do |config|
|
468
468
|
config.auth do |auth|
|
469
469
|
# Authentication settings
|
470
470
|
auth.authentication_enabled = true | false # Enable/disable authentication
|
@@ -840,7 +840,7 @@ Our `ExampleJWTAuthenticator` demonstrates a production-ready JWT implementation
|
|
840
840
|
|
841
841
|
```ruby
|
842
842
|
# config/initializers/tasker.rb
|
843
|
-
Tasker.configuration do |config|
|
843
|
+
Tasker::Configuration.configuration do |config|
|
844
844
|
config.auth do |auth|
|
845
845
|
auth.authentication_enabled = true
|
846
846
|
auth.authenticator_class = 'ExampleJWTAuthenticator'
|
@@ -864,7 +864,7 @@ end
|
|
864
864
|
|
865
865
|
```ruby
|
866
866
|
# config/initializers/tasker.rb
|
867
|
-
Tasker.configuration do |config|
|
867
|
+
Tasker::Configuration.configuration do |config|
|
868
868
|
config.auth do |auth|
|
869
869
|
auth.authentication_enabled = true
|
870
870
|
auth.authenticator_class = 'ExampleJWTAuthenticator'
|
@@ -1284,7 +1284,7 @@ For authorization testing, use comprehensive integration tests:
|
|
1284
1284
|
# spec/support/shared_contexts/configuration_test_isolation.rb
|
1285
1285
|
RSpec.shared_context 'configuration test isolation' do
|
1286
1286
|
around(:each) do |example|
|
1287
|
-
original_config = Tasker.configuration
|
1287
|
+
original_config = Tasker::Configuration.configuration
|
1288
1288
|
example.run
|
1289
1289
|
ensure
|
1290
1290
|
# Reset to clean state
|
@@ -1443,7 +1443,7 @@ RSpec.configure do |config|
|
|
1443
1443
|
config.after(:each) do
|
1444
1444
|
# Automatic cleanup of authentication/authorization state
|
1445
1445
|
if defined?(Tasker) && Tasker.respond_to?(:configuration)
|
1446
|
-
current_config = Tasker.configuration
|
1446
|
+
current_config = Tasker::Configuration.configuration
|
1447
1447
|
if current_config&.auth&.authorization_enabled == true
|
1448
1448
|
needs_reset = true
|
1449
1449
|
end
|
@@ -1454,7 +1454,7 @@ RSpec.configure do |config|
|
|
1454
1454
|
end
|
1455
1455
|
|
1456
1456
|
if needs_reset
|
1457
|
-
Tasker.configuration do |config|
|
1457
|
+
Tasker::Configuration.configuration do |config|
|
1458
1458
|
config.auth.authentication_enabled = false
|
1459
1459
|
config.auth.authorization_enabled = false
|
1460
1460
|
config.auth.authenticator_class = nil
|
data/docs/DEVELOPER_GUIDE.md
CHANGED
@@ -1027,7 +1027,7 @@ Tasker provides a comprehensive, production-ready authentication and authorizati
|
|
1027
1027
|
|
1028
1028
|
```ruby
|
1029
1029
|
# config/initializers/tasker.rb
|
1030
|
-
Tasker.configuration do |config|
|
1030
|
+
Tasker::Configuration.configuration do |config|
|
1031
1031
|
config.auth do |auth|
|
1032
1032
|
# Authentication
|
1033
1033
|
auth.authentication_enabled = true
|
@@ -1111,18 +1111,18 @@ Tasker provides optional multi-database support using Rails' standard multi-data
|
|
1111
1111
|
# config/initializers/tasker.rb
|
1112
1112
|
|
1113
1113
|
# Default: Use host application database (shared)
|
1114
|
-
Tasker.configuration do |config|
|
1114
|
+
Tasker::Configuration.configuration do |config|
|
1115
1115
|
config.database.enable_secondary_database = false
|
1116
1116
|
end
|
1117
1117
|
|
1118
1118
|
# Use dedicated Tasker database
|
1119
|
-
Tasker.configuration do |config|
|
1119
|
+
Tasker::Configuration.configuration do |config|
|
1120
1120
|
config.database.enable_secondary_database = true
|
1121
1121
|
config.database.name = :tasker
|
1122
1122
|
end
|
1123
1123
|
|
1124
1124
|
# Environment-specific configuration
|
1125
|
-
Tasker.configuration do |config|
|
1125
|
+
Tasker::Configuration.configuration do |config|
|
1126
1126
|
config.database.enable_secondary_database = Rails.env.production?
|
1127
1127
|
config.database.name = Rails.env.production? ? :tasker : nil
|
1128
1128
|
end
|
@@ -1192,7 +1192,7 @@ Tasker provides advanced dependency graph analysis and bottleneck detection capa
|
|
1192
1192
|
|
1193
1193
|
```ruby
|
1194
1194
|
# config/initializers/tasker.rb
|
1195
|
-
Tasker.configuration do |config|
|
1195
|
+
Tasker::Configuration.configuration do |config|
|
1196
1196
|
config.dependency_graph do |graph|
|
1197
1197
|
# Prioritize blocked steps more heavily
|
1198
1198
|
graph.impact_multipliers = {
|
@@ -1965,7 +1965,7 @@ module PriorityWorkflow
|
|
1965
1965
|
end
|
1966
1966
|
|
1967
1967
|
# Configure in initializer
|
1968
|
-
Tasker.configuration do |config|
|
1968
|
+
Tasker::Configuration.configuration do |config|
|
1969
1969
|
config.orchestration.coordinator_class = 'PriorityWorkflow::Coordinator'
|
1970
1970
|
end
|
1971
1971
|
```
|
@@ -208,7 +208,7 @@ Monitor these metrics to optimize configuration:
|
|
208
208
|
|
209
209
|
```ruby
|
210
210
|
# Access current configuration
|
211
|
-
current_config = Tasker.configuration.execution
|
211
|
+
current_config = Tasker::Configuration.configuration.execution
|
212
212
|
|
213
213
|
# Monitor dynamic concurrency decisions
|
214
214
|
max_concurrent = step_executor.max_concurrent_steps
|
data/docs/HEALTH.md
CHANGED
@@ -113,7 +113,7 @@ Control authentication requirements for the status endpoint:
|
|
113
113
|
|
114
114
|
```ruby
|
115
115
|
# config/initializers/tasker.rb
|
116
|
-
Tasker.configuration do |config|
|
116
|
+
Tasker::Configuration.configuration do |config|
|
117
117
|
config.health do |health|
|
118
118
|
# Optional authentication for status endpoint
|
119
119
|
health.status_requires_authentication = true # Default: false
|
@@ -135,7 +135,7 @@ Enable fine-grained authorization for the status endpoint:
|
|
135
135
|
|
136
136
|
```ruby
|
137
137
|
# config/initializers/tasker.rb
|
138
|
-
Tasker.configuration do |config|
|
138
|
+
Tasker::Configuration.configuration do |config|
|
139
139
|
config.auth do |auth|
|
140
140
|
auth.authorization_enabled = true
|
141
141
|
auth.authorization_coordinator_class = 'YourAuthorizationCoordinator'
|
@@ -346,7 +346,7 @@ end
|
|
346
346
|
|
347
347
|
```ruby
|
348
348
|
# config/initializers/tasker.rb
|
349
|
-
Tasker.configuration do |config|
|
349
|
+
Tasker::Configuration.configuration do |config|
|
350
350
|
config.health do |health|
|
351
351
|
# Authentication requirement for status endpoint
|
352
352
|
health.status_requires_authentication = false # Default: false
|
data/docs/METRICS.md
CHANGED
@@ -327,7 +327,7 @@ groups:
|
|
327
327
|
|
328
328
|
```ruby
|
329
329
|
# config/initializers/tasker.rb
|
330
|
-
Tasker.configuration do |config|
|
330
|
+
Tasker::Configuration.configuration do |config|
|
331
331
|
config.telemetry do |tel|
|
332
332
|
# Enable native metrics collection
|
333
333
|
tel.metrics_enabled = true
|
@@ -349,7 +349,7 @@ end
|
|
349
349
|
### Advanced Configuration
|
350
350
|
|
351
351
|
```ruby
|
352
|
-
Tasker.configuration do |config|
|
352
|
+
Tasker::Configuration.configuration do |config|
|
353
353
|
config.telemetry do |tel|
|
354
354
|
tel.metrics_enabled = true
|
355
355
|
tel.metrics_format = 'prometheus'
|
@@ -392,7 +392,7 @@ end
|
|
392
392
|
```ruby
|
393
393
|
# config/environments/production.rb
|
394
394
|
config.after_initialize do
|
395
|
-
Tasker.configuration do |config|
|
395
|
+
Tasker::Configuration.configuration do |config|
|
396
396
|
config.telemetry do |tel|
|
397
397
|
tel.metrics_enabled = true
|
398
398
|
tel.prometheus = {
|
@@ -408,7 +408,7 @@ end
|
|
408
408
|
|
409
409
|
# config/environments/development.rb
|
410
410
|
config.after_initialize do
|
411
|
-
Tasker.configuration do |config|
|
411
|
+
Tasker::Configuration.configuration do |config|
|
412
412
|
config.telemetry do |tel|
|
413
413
|
tel.metrics_enabled = true
|
414
414
|
tel.prometheus = {
|
data/docs/OPTIMIZATION_PLAN.md
CHANGED
@@ -86,7 +86,7 @@ end
|
|
86
86
|
|
87
87
|
**✅ ACHIEVEMENTS**:
|
88
88
|
- **Dynamic Calculation**: Intelligent concurrency based on system health and database pool
|
89
|
-
- **Configuration System**: `Tasker.configuration.execution` with environment-specific tuning
|
89
|
+
- **Configuration System**: `Tasker::Configuration.configuration.execution` with environment-specific tuning
|
90
90
|
- **Performance Improvement**: 200-300% potential throughput increase
|
91
91
|
- **Template Integration**: All generators and scripts include execution configuration examples
|
92
92
|
- **Comprehensive Testing**: FutureStateAnalyzer abstraction with 34 validation tests
|
@@ -514,7 +514,7 @@ module Tasker
|
|
514
514
|
|
515
515
|
def self.intelligent_concurrency_for_step_executor
|
516
516
|
health_data = assess_connection_health
|
517
|
-
config = Tasker.configuration.execution # Use existing ExecutionConfig
|
517
|
+
config = Tasker::Configuration.configuration.execution # Use existing ExecutionConfig
|
518
518
|
|
519
519
|
# Respect Rails connection pool limits with configurable bounds
|
520
520
|
base_recommendation = health_data[:recommended_concurrency]
|
@@ -553,7 +553,7 @@ module Tasker
|
|
553
553
|
pressure = assess_pressure(pool_stat)
|
554
554
|
|
555
555
|
# ✅ CONFIGURABLE: Pressure response factors (environment-dependent)
|
556
|
-
pressure_config = Tasker.configuration.execution.connection_pressure_factors || {
|
556
|
+
pressure_config = Tasker::Configuration.configuration.execution.connection_pressure_factors || {
|
557
557
|
low: 0.8,
|
558
558
|
moderate: 0.6,
|
559
559
|
high: 0.4,
|
data/docs/QUICK_START.md
CHANGED
@@ -191,7 +191,7 @@ Your demo application includes comprehensive execution configuration examples. E
|
|
191
191
|
rails console
|
192
192
|
|
193
193
|
# Check current execution settings
|
194
|
-
config = Tasker.configuration.execution
|
194
|
+
config = Tasker::Configuration.configuration.execution
|
195
195
|
puts "Min concurrent steps: #{config.min_concurrent_steps}"
|
196
196
|
puts "Max concurrent steps: #{config.max_concurrent_steps_limit}"
|
197
197
|
puts "Concurrency cache duration: #{config.concurrency_cache_duration} seconds"
|
data/docs/REST_API.md
CHANGED
@@ -33,7 +33,7 @@ If you've configured a custom authenticator, use the authentication method appro
|
|
33
33
|
|
34
34
|
```ruby
|
35
35
|
# config/initializers/tasker.rb
|
36
|
-
Tasker.configuration do |config|
|
36
|
+
Tasker::Configuration.configuration do |config|
|
37
37
|
config.auth do |auth|
|
38
38
|
auth.authentication_enabled = true
|
39
39
|
auth.authenticator_class = 'YourCustomAuthenticator'
|
data/docs/TELEMETRY.md
CHANGED
@@ -201,7 +201,7 @@ end
|
|
201
201
|
### ✅ **Clean Architecture** - Complementary Systems
|
202
202
|
```ruby
|
203
203
|
# config/initializers/tasker.rb
|
204
|
-
Tasker.configuration do |config|
|
204
|
+
Tasker::Configuration.configuration do |config|
|
205
205
|
config.telemetry do |tel|
|
206
206
|
# Enable OpenTelemetry spans (event-driven)
|
207
207
|
tel.enabled = true
|
@@ -222,7 +222,7 @@ See [METRICS.md](METRICS.md) for comprehensive details on the native metrics sys
|
|
222
222
|
Configure Tasker's telemetry in `config/initializers/tasker.rb`:
|
223
223
|
|
224
224
|
```ruby
|
225
|
-
Tasker.configuration do |config|
|
225
|
+
Tasker::Configuration.configuration do |config|
|
226
226
|
config.telemetry do |tel|
|
227
227
|
# Enable telemetry (TelemetrySubscriber for OpenTelemetry spans)
|
228
228
|
tel.enabled = true
|
@@ -254,7 +254,7 @@ require 'opentelemetry/instrumentation/all'
|
|
254
254
|
# Configure OpenTelemetry
|
255
255
|
OpenTelemetry::SDK.configure do |c|
|
256
256
|
# Use the configured service name
|
257
|
-
c.service_name = Tasker.configuration.telemetry.service_name
|
257
|
+
c.service_name = Tasker::Configuration.configuration.telemetry.service_name
|
258
258
|
|
259
259
|
# Configure OTLP exporter to send to local Jaeger
|
260
260
|
otlp_exporter = OpenTelemetry::Exporter::OTLP::Exporter.new(
|
@@ -268,8 +268,8 @@ OpenTelemetry::SDK.configure do |c|
|
|
268
268
|
|
269
269
|
# Configure resource with additional attributes
|
270
270
|
c.resource = OpenTelemetry::SDK::Resources::Resource.create({
|
271
|
-
'service.name' => Tasker.configuration.telemetry.service_name,
|
272
|
-
'service.version' => Tasker.configuration.telemetry.service_version,
|
271
|
+
'service.name' => Tasker::Configuration.configuration.telemetry.service_name,
|
272
|
+
'service.version' => Tasker::Configuration.configuration.telemetry.service_version,
|
273
273
|
'service.framework' => 'tasker'
|
274
274
|
})
|
275
275
|
|
data/docs/TROUBLESHOOTING.md
CHANGED
@@ -451,7 +451,7 @@ Tasker::Types::ValidationError: Invalid task context
|
|
451
451
|
3. **Enable telemetry**
|
452
452
|
```ruby
|
453
453
|
# config/initializers/tasker.rb
|
454
|
-
Tasker.configuration do |config|
|
454
|
+
Tasker::Configuration.configuration do |config|
|
455
455
|
config.telemetry do |tel|
|
456
456
|
tel.enabled = true
|
457
457
|
tel.service_name = 'your-app'
|
@@ -576,7 +576,7 @@ end
|
|
576
576
|
|
577
577
|
```ruby
|
578
578
|
# config/initializers/tasker.rb
|
579
|
-
Tasker.configuration do |config|
|
579
|
+
Tasker::Configuration.configuration do |config|
|
580
580
|
config.telemetry do |tel|
|
581
581
|
tel.enabled = true
|
582
582
|
tel.service_name = 'your-application'
|