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.
Files changed (605) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +443 -0
  4. data/Rakefile +10 -0
  5. data/app/controllers/tasker/analytics_controller.rb +179 -0
  6. data/app/controllers/tasker/application_controller.rb +45 -0
  7. data/app/controllers/tasker/graphql_controller.rb +193 -0
  8. data/app/controllers/tasker/handlers_controller.rb +217 -0
  9. data/app/controllers/tasker/health_controller.rb +229 -0
  10. data/app/controllers/tasker/metrics_controller.rb +111 -0
  11. data/app/controllers/tasker/page_sort.rb +97 -0
  12. data/app/controllers/tasker/task_diagrams_controller.rb +30 -0
  13. data/app/controllers/tasker/tasks_controller.rb +123 -0
  14. data/app/controllers/tasker/workflow_steps_controller.rb +69 -0
  15. data/app/graphql/examples/all_tasks.graphql +22 -0
  16. data/app/graphql/examples/pending_tasks.graphql +23 -0
  17. data/app/graphql/tasker/graph_ql_types/annotation_type.rb +14 -0
  18. data/app/graphql/tasker/graph_ql_types/base_argument.rb +9 -0
  19. data/app/graphql/tasker/graph_ql_types/base_connection.rb +11 -0
  20. data/app/graphql/tasker/graph_ql_types/base_edge.rb +10 -0
  21. data/app/graphql/tasker/graph_ql_types/base_enum.rb +9 -0
  22. data/app/graphql/tasker/graph_ql_types/base_field.rb +10 -0
  23. data/app/graphql/tasker/graph_ql_types/base_input_object.rb +10 -0
  24. data/app/graphql/tasker/graph_ql_types/base_interface.rb +14 -0
  25. data/app/graphql/tasker/graph_ql_types/base_object.rb +10 -0
  26. data/app/graphql/tasker/graph_ql_types/base_scalar.rb +9 -0
  27. data/app/graphql/tasker/graph_ql_types/base_union.rb +11 -0
  28. data/app/graphql/tasker/graph_ql_types/dependent_system_object_map_type.rb +18 -0
  29. data/app/graphql/tasker/graph_ql_types/dependent_system_type.rb +13 -0
  30. data/app/graphql/tasker/graph_ql_types/mutation_type.rb +16 -0
  31. data/app/graphql/tasker/graph_ql_types/named_step_type.rb +16 -0
  32. data/app/graphql/tasker/graph_ql_types/named_task_type.rb +14 -0
  33. data/app/graphql/tasker/graph_ql_types/named_tasks_named_step_type.rb +19 -0
  34. data/app/graphql/tasker/graph_ql_types/node_type.rb +12 -0
  35. data/app/graphql/tasker/graph_ql_types/query_type.rb +20 -0
  36. data/app/graphql/tasker/graph_ql_types/task_annotation_type.rb +17 -0
  37. data/app/graphql/tasker/graph_ql_types/task_interface.rb +17 -0
  38. data/app/graphql/tasker/graph_ql_types/task_type.rb +26 -0
  39. data/app/graphql/tasker/graph_ql_types/workflow_step_type.rb +154 -0
  40. data/app/graphql/tasker/graph_ql_types.rb +42 -0
  41. data/app/graphql/tasker/mutations/base_mutation.rb +13 -0
  42. data/app/graphql/tasker/mutations/cancel_step.rb +29 -0
  43. data/app/graphql/tasker/mutations/cancel_task.rb +29 -0
  44. data/app/graphql/tasker/mutations/create_task.rb +52 -0
  45. data/app/graphql/tasker/mutations/update_step.rb +36 -0
  46. data/app/graphql/tasker/mutations/update_task.rb +41 -0
  47. data/app/graphql/tasker/queries/all_annotation_types.rb +17 -0
  48. data/app/graphql/tasker/queries/all_tasks.rb +23 -0
  49. data/app/graphql/tasker/queries/base_query.rb +9 -0
  50. data/app/graphql/tasker/queries/helpers.rb +16 -0
  51. data/app/graphql/tasker/queries/one_step.rb +24 -0
  52. data/app/graphql/tasker/queries/one_task.rb +18 -0
  53. data/app/graphql/tasker/queries/tasks_by_annotation.rb +31 -0
  54. data/app/graphql/tasker/queries/tasks_by_status.rb +30 -0
  55. data/app/graphql/tasker/tasker_rails_schema.rb +52 -0
  56. data/app/jobs/tasker/application_job.rb +8 -0
  57. data/app/jobs/tasker/metrics_export_job.rb +252 -0
  58. data/app/jobs/tasker/task_runner_job.rb +224 -0
  59. data/app/models/tasker/annotation_type.rb +26 -0
  60. data/app/models/tasker/application_record.rb +70 -0
  61. data/app/models/tasker/dependent_system.rb +26 -0
  62. data/app/models/tasker/dependent_system_object_map.rb +64 -0
  63. data/app/models/tasker/diagram/edge.rb +106 -0
  64. data/app/models/tasker/diagram/flowchart.rb +137 -0
  65. data/app/models/tasker/diagram/node.rb +99 -0
  66. data/app/models/tasker/named_step.rb +41 -0
  67. data/app/models/tasker/named_task.rb +121 -0
  68. data/app/models/tasker/named_tasks_named_step.rb +82 -0
  69. data/app/models/tasker/step_dag_relationship.rb +65 -0
  70. data/app/models/tasker/step_readiness_status.rb +59 -0
  71. data/app/models/tasker/task.rb +424 -0
  72. data/app/models/tasker/task_annotation.rb +36 -0
  73. data/app/models/tasker/task_diagram.rb +332 -0
  74. data/app/models/tasker/task_execution_context.rb +29 -0
  75. data/app/models/tasker/task_namespace.rb +41 -0
  76. data/app/models/tasker/task_transition.rb +235 -0
  77. data/app/models/tasker/workflow_step.rb +461 -0
  78. data/app/models/tasker/workflow_step_edge.rb +94 -0
  79. data/app/models/tasker/workflow_step_transition.rb +434 -0
  80. data/app/serializers/tasker/annotation_type_serializer.rb +8 -0
  81. data/app/serializers/tasker/handler_serializer.rb +109 -0
  82. data/app/serializers/tasker/task_annotation_serializer.rb +32 -0
  83. data/app/serializers/tasker/task_serializer.rb +168 -0
  84. data/app/serializers/tasker/workflow_step_serializer.rb +27 -0
  85. data/app/services/tasker/analytics_service.rb +409 -0
  86. data/app/views/tasker/task/_diagram.html.erb +32 -0
  87. data/config/initializers/dry_struct.rb +11 -0
  88. data/config/initializers/statesman.rb +6 -0
  89. data/config/initializers/tasker_orchestration.rb +17 -0
  90. data/config/initializers/time_formats.rb +4 -0
  91. data/config/routes.rb +34 -0
  92. data/config/tasker/subscriptions/example_integrations.yml +67 -0
  93. data/config/tasker/system_events.yml +305 -0
  94. data/db/functions/calculate_dependency_levels_v01.sql +45 -0
  95. data/db/functions/get_analytics_metrics_v01.sql +137 -0
  96. data/db/functions/get_slowest_steps_v01.sql +82 -0
  97. data/db/functions/get_slowest_tasks_v01.sql +96 -0
  98. data/db/functions/get_step_readiness_status_batch_v01.sql +140 -0
  99. data/db/functions/get_step_readiness_status_v01.sql +139 -0
  100. data/db/functions/get_system_health_counts_v01.sql +108 -0
  101. data/db/functions/get_task_execution_context_v01.sql +108 -0
  102. data/db/functions/get_task_execution_contexts_batch_v01.sql +104 -0
  103. data/db/init/schema.sql +2277 -0
  104. data/db/migrate/20250701165431_initial_tasker_schema.rb +116 -0
  105. data/db/views/tasker_step_dag_relationships_v01.sql +69 -0
  106. data/docs/APPLICATION_GENERATOR.md +384 -0
  107. data/docs/AUTH.md +1780 -0
  108. data/docs/CIRCUIT_BREAKER.md +224 -0
  109. data/docs/DEVELOPER_GUIDE.md +2665 -0
  110. data/docs/EVENT_SYSTEM.md +637 -0
  111. data/docs/EXECUTION_CONFIGURATION.md +341 -0
  112. data/docs/FLOW_CHART.md +149 -0
  113. data/docs/HEALTH.md +542 -0
  114. data/docs/METRICS.md +731 -0
  115. data/docs/OPTIMIZATION_PLAN.md +1479 -0
  116. data/docs/OVERVIEW.md +552 -0
  117. data/docs/QUICK_START.md +270 -0
  118. data/docs/REGISTRY_SYSTEMS.md +373 -0
  119. data/docs/REST_API.md +632 -0
  120. data/docs/ROADMAP.md +221 -0
  121. data/docs/SQL_FUNCTIONS.md +1408 -0
  122. data/docs/TASK_DIAGRAM.md +252 -0
  123. data/docs/TASK_EXECUTION_CONTROL_FLOW.md +237 -0
  124. data/docs/TELEMETRY.md +795 -0
  125. data/docs/TROUBLESHOOTING.md +756 -0
  126. data/docs/TaskHandlerGenerator.html +255 -0
  127. data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +907 -0
  128. data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1236 -0
  129. data/docs/Tasker/Analysis.html +117 -0
  130. data/docs/Tasker/AnalyticsController.html +450 -0
  131. data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +816 -0
  132. data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +586 -0
  133. data/docs/Tasker/AnalyticsService.html +2221 -0
  134. data/docs/Tasker/AnnotationType.html +137 -0
  135. data/docs/Tasker/AnnotationTypeSerializer.html +124 -0
  136. data/docs/Tasker/ApplicationController.html +147 -0
  137. data/docs/Tasker/ApplicationJob.html +128 -0
  138. data/docs/Tasker/ApplicationRecord.html +378 -0
  139. data/docs/Tasker/Authentication/AuthenticationError.html +124 -0
  140. data/docs/Tasker/Authentication/ConfigurationError.html +124 -0
  141. data/docs/Tasker/Authentication/Coordinator.html +242 -0
  142. data/docs/Tasker/Authentication/Interface.html +560 -0
  143. data/docs/Tasker/Authentication/InterfaceError.html +124 -0
  144. data/docs/Tasker/Authentication/NoneAuthenticator.html +338 -0
  145. data/docs/Tasker/Authentication.html +119 -0
  146. data/docs/Tasker/Authorization/AuthorizationError.html +139 -0
  147. data/docs/Tasker/Authorization/BaseCoordinator.html +927 -0
  148. data/docs/Tasker/Authorization/ConfigurationError.html +153 -0
  149. data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +428 -0
  150. data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +365 -0
  151. data/docs/Tasker/Authorization/ResourceConstants.html +146 -0
  152. data/docs/Tasker/Authorization/ResourceRegistry.html +882 -0
  153. data/docs/Tasker/Authorization/UnauthorizedError.html +153 -0
  154. data/docs/Tasker/Authorization.html +582 -0
  155. data/docs/Tasker/CacheCapabilities.html +167 -0
  156. data/docs/Tasker/CacheStrategy.html +1297 -0
  157. data/docs/Tasker/Concerns/Authenticatable.html +116 -0
  158. data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +256 -0
  159. data/docs/Tasker/Concerns/Authorizable.html +816 -0
  160. data/docs/Tasker/Concerns/ControllerAuthorizable.html +157 -0
  161. data/docs/Tasker/Concerns/EventPublisher.html +4023 -0
  162. data/docs/Tasker/Concerns/IdempotentStateTransitions.html +806 -0
  163. data/docs/Tasker/Concerns/LifecycleEventHelpers.html +129 -0
  164. data/docs/Tasker/Concerns/OrchestrationPublisher.html +129 -0
  165. data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1075 -0
  166. data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +191 -0
  167. data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +126 -0
  168. data/docs/Tasker/Concerns/StateMachineBase.html +153 -0
  169. data/docs/Tasker/Concerns/StructuredLogging.html +1413 -0
  170. data/docs/Tasker/Concerns.html +117 -0
  171. data/docs/Tasker/Configuration/AuthConfiguration.html +1023 -0
  172. data/docs/Tasker/Configuration/ConfigurationProxy.html +581 -0
  173. data/docs/Tasker/Configuration/DatabaseConfiguration.html +475 -0
  174. data/docs/Tasker/Configuration/EngineConfiguration.html +1265 -0
  175. data/docs/Tasker/Configuration/HealthConfiguration.html +791 -0
  176. data/docs/Tasker/Configuration/TelemetryConfiguration.html +1308 -0
  177. data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +388 -0
  178. data/docs/Tasker/Configuration.html +1669 -0
  179. data/docs/Tasker/ConfigurationError.html +143 -0
  180. data/docs/Tasker/ConfiguredTask.html +514 -0
  181. data/docs/Tasker/Constants/EventDefinitions.html +590 -0
  182. data/docs/Tasker/Constants/LifecycleEvents.html +137 -0
  183. data/docs/Tasker/Constants/ObservabilityEvents/Step.html +152 -0
  184. data/docs/Tasker/Constants/ObservabilityEvents/Task.html +142 -0
  185. data/docs/Tasker/Constants/ObservabilityEvents.html +126 -0
  186. data/docs/Tasker/Constants/RegistryEvents.html +285 -0
  187. data/docs/Tasker/Constants/StepEvents.html +177 -0
  188. data/docs/Tasker/Constants/TaskEvents.html +167 -0
  189. data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +207 -0
  190. data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +191 -0
  191. data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +207 -0
  192. data/docs/Tasker/Constants/TaskExecution.html +126 -0
  193. data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +132 -0
  194. data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +207 -0
  195. data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +239 -0
  196. data/docs/Tasker/Constants/TaskFinalization.html +126 -0
  197. data/docs/Tasker/Constants/TaskStatuses.html +223 -0
  198. data/docs/Tasker/Constants/TestEvents.html +163 -0
  199. data/docs/Tasker/Constants/WorkflowEvents.html +222 -0
  200. data/docs/Tasker/Constants/WorkflowStepStatuses.html +223 -0
  201. data/docs/Tasker/Constants.html +561 -0
  202. data/docs/Tasker/DependentSystem.html +137 -0
  203. data/docs/Tasker/DependentSystemObjectMap.html +250 -0
  204. data/docs/Tasker/DetectorRegistry.html +598 -0
  205. data/docs/Tasker/Diagram/Edge.html +1191 -0
  206. data/docs/Tasker/Diagram/Flowchart.html +1539 -0
  207. data/docs/Tasker/Diagram/Node.html +1165 -0
  208. data/docs/Tasker/Diagram.html +117 -0
  209. data/docs/Tasker/Engine.html +215 -0
  210. data/docs/Tasker/Error.html +139 -0
  211. data/docs/Tasker/Events/Bus.html +1226 -0
  212. data/docs/Tasker/Events/Catalog/CatalogPrinter.html +258 -0
  213. data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +276 -0
  214. data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +294 -0
  215. data/docs/Tasker/Events/Catalog.html +1291 -0
  216. data/docs/Tasker/Events/CustomRegistry.html +943 -0
  217. data/docs/Tasker/Events/DefinitionLoader.html +575 -0
  218. data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +286 -0
  219. data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +312 -0
  220. data/docs/Tasker/Events/EventPayloadBuilder.html +664 -0
  221. data/docs/Tasker/Events/Publisher.html +365 -0
  222. data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1128 -0
  223. data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +270 -0
  224. data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +266 -0
  225. data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +2556 -0
  226. data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +723 -0
  227. data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +2251 -0
  228. data/docs/Tasker/Events/Subscribers.html +117 -0
  229. data/docs/Tasker/Events/SubscriptionLoader.html +493 -0
  230. data/docs/Tasker/Events.html +294 -0
  231. data/docs/Tasker/EventsGenerator.html +459 -0
  232. data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +135 -0
  233. data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +412 -0
  234. data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +598 -0
  235. data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +135 -0
  236. data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +453 -0
  237. data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +135 -0
  238. data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +453 -0
  239. data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1457 -0
  240. data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +135 -0
  241. data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +370 -0
  242. data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1250 -0
  243. data/docs/Tasker/Functions/FunctionWrapper.html +479 -0
  244. data/docs/Tasker/Functions.html +117 -0
  245. data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +244 -0
  246. data/docs/Tasker/Generators/AuthenticatorGenerator.html +373 -0
  247. data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +430 -0
  248. data/docs/Tasker/Generators/SubscriberGenerator.html +377 -0
  249. data/docs/Tasker/Generators/TaskHandlerGenerator.html +263 -0
  250. data/docs/Tasker/Generators.html +117 -0
  251. data/docs/Tasker/GraphQLTypes/AnnotationType.html +132 -0
  252. data/docs/Tasker/GraphQLTypes/BaseArgument.html +124 -0
  253. data/docs/Tasker/GraphQLTypes/BaseConnection.html +124 -0
  254. data/docs/Tasker/GraphQLTypes/BaseEdge.html +130 -0
  255. data/docs/Tasker/GraphQLTypes/BaseEnum.html +124 -0
  256. data/docs/Tasker/GraphQLTypes/BaseField.html +124 -0
  257. data/docs/Tasker/GraphQLTypes/BaseInputObject.html +124 -0
  258. data/docs/Tasker/GraphQLTypes/BaseInterface.html +116 -0
  259. data/docs/Tasker/GraphQLTypes/BaseObject.html +128 -0
  260. data/docs/Tasker/GraphQLTypes/BaseScalar.html +124 -0
  261. data/docs/Tasker/GraphQLTypes/BaseUnion.html +124 -0
  262. data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +132 -0
  263. data/docs/Tasker/GraphQLTypes/DependentSystemType.html +132 -0
  264. data/docs/Tasker/GraphQLTypes/MutationType.html +132 -0
  265. data/docs/Tasker/GraphQLTypes/NamedStepType.html +132 -0
  266. data/docs/Tasker/GraphQLTypes/NamedTaskType.html +132 -0
  267. data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +132 -0
  268. data/docs/Tasker/GraphQLTypes/NodeType.html +118 -0
  269. data/docs/Tasker/GraphQLTypes/QueryType.html +139 -0
  270. data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +132 -0
  271. data/docs/Tasker/GraphQLTypes/TaskInterface.html +111 -0
  272. data/docs/Tasker/GraphQLTypes/TaskType.html +201 -0
  273. data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +694 -0
  274. data/docs/Tasker/GraphQLTypes.html +130 -0
  275. data/docs/Tasker/GraphqlController.html +251 -0
  276. data/docs/Tasker/HandlerFactory.html +1518 -0
  277. data/docs/Tasker/HandlerSerializer.html +682 -0
  278. data/docs/Tasker/HandlersController.html +574 -0
  279. data/docs/Tasker/HashIdentityStrategy.html +278 -0
  280. data/docs/Tasker/Health/ReadinessChecker.html +712 -0
  281. data/docs/Tasker/Health/StatusChecker.html +653 -0
  282. data/docs/Tasker/Health.html +117 -0
  283. data/docs/Tasker/HealthController.html +523 -0
  284. data/docs/Tasker/IdentityStrategy.html +276 -0
  285. data/docs/Tasker/InvalidTaskHandlerConfig.html +135 -0
  286. data/docs/Tasker/LifecycleEvents/Events/Step.html +162 -0
  287. data/docs/Tasker/LifecycleEvents/Events/Task.html +162 -0
  288. data/docs/Tasker/LifecycleEvents/Events.html +204 -0
  289. data/docs/Tasker/LifecycleEvents/Publisher.html +132 -0
  290. data/docs/Tasker/LifecycleEvents.html +799 -0
  291. data/docs/Tasker/Logging/CorrelationIdGenerator.html +688 -0
  292. data/docs/Tasker/Logging.html +115 -0
  293. data/docs/Tasker/MetricsController.html +293 -0
  294. data/docs/Tasker/MetricsExportJob.html +414 -0
  295. data/docs/Tasker/Mutations/BaseMutation.html +128 -0
  296. data/docs/Tasker/Mutations/CancelStep.html +219 -0
  297. data/docs/Tasker/Mutations/CancelTask.html +221 -0
  298. data/docs/Tasker/Mutations/CreateTask.html +243 -0
  299. data/docs/Tasker/Mutations/UpdateStep.html +243 -0
  300. data/docs/Tasker/Mutations/UpdateTask.html +243 -0
  301. data/docs/Tasker/Mutations.html +117 -0
  302. data/docs/Tasker/NamedStep.html +216 -0
  303. data/docs/Tasker/NamedTask.html +910 -0
  304. data/docs/Tasker/NamedTasksNamedStep.html +435 -0
  305. data/docs/Tasker/Orchestration/BackoffCalculator.html +404 -0
  306. data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +258 -0
  307. data/docs/Tasker/Orchestration/ConnectionBuilder.html +435 -0
  308. data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +513 -0
  309. data/docs/Tasker/Orchestration/Coordinator.html +641 -0
  310. data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1045 -0
  311. data/docs/Tasker/Orchestration/Orchestrator.html +679 -0
  312. data/docs/Tasker/Orchestration/PluginIntegration.html +1127 -0
  313. data/docs/Tasker/Orchestration/ResponseProcessor.html +504 -0
  314. data/docs/Tasker/Orchestration/RetryHeaderParser.html +304 -0
  315. data/docs/Tasker/Orchestration/StepExecutor.html +995 -0
  316. data/docs/Tasker/Orchestration/StepSequenceFactory.html +644 -0
  317. data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +264 -0
  318. data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +254 -0
  319. data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +556 -0
  320. data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +348 -0
  321. data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +286 -0
  322. data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +432 -0
  323. data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +296 -0
  324. data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +314 -0
  325. data/docs/Tasker/Orchestration/TaskFinalizer.html +1212 -0
  326. data/docs/Tasker/Orchestration/TaskInitializer.html +766 -0
  327. data/docs/Tasker/Orchestration/TaskReenqueuer.html +506 -0
  328. data/docs/Tasker/Orchestration/ViableStepDiscovery.html +442 -0
  329. data/docs/Tasker/Orchestration/WorkflowCoordinator.html +510 -0
  330. data/docs/Tasker/Orchestration.html +130 -0
  331. data/docs/Tasker/PageSort/PageSortParamsBuilder.html +296 -0
  332. data/docs/Tasker/PageSort.html +247 -0
  333. data/docs/Tasker/PermanentError.html +518 -0
  334. data/docs/Tasker/ProceduralError.html +147 -0
  335. data/docs/Tasker/Queries/AllAnnotationTypes.html +217 -0
  336. data/docs/Tasker/Queries/AllTasks.html +221 -0
  337. data/docs/Tasker/Queries/BaseQuery.html +128 -0
  338. data/docs/Tasker/Queries/Helpers.html +187 -0
  339. data/docs/Tasker/Queries/OneStep.html +225 -0
  340. data/docs/Tasker/Queries/OneTask.html +217 -0
  341. data/docs/Tasker/Queries/TasksByAnnotation.html +231 -0
  342. data/docs/Tasker/Queries/TasksByStatus.html +233 -0
  343. data/docs/Tasker/Queries.html +119 -0
  344. data/docs/Tasker/Railtie.html +124 -0
  345. data/docs/Tasker/Registry/BaseRegistry.html +1690 -0
  346. data/docs/Tasker/Registry/EventPublisher.html +667 -0
  347. data/docs/Tasker/Registry/InterfaceValidator.html +569 -0
  348. data/docs/Tasker/Registry/RegistrationError.html +132 -0
  349. data/docs/Tasker/Registry/RegistryError.html +139 -0
  350. data/docs/Tasker/Registry/StatisticsCollector.html +841 -0
  351. data/docs/Tasker/Registry/SubscriberRegistry.html +1504 -0
  352. data/docs/Tasker/Registry/ValidationError.html +132 -0
  353. data/docs/Tasker/Registry.html +119 -0
  354. data/docs/Tasker/RetryableError.html +515 -0
  355. data/docs/Tasker/StateMachine/Compatibility.html +282 -0
  356. data/docs/Tasker/StateMachine/InvalidStateTransition.html +135 -0
  357. data/docs/Tasker/StateMachine/StepStateMachine/StandardizedPayloadBuilder.html +260 -0
  358. data/docs/Tasker/StateMachine/StepStateMachine.html +2215 -0
  359. data/docs/Tasker/StateMachine/TaskStateMachine.html +734 -0
  360. data/docs/Tasker/StateMachine.html +602 -0
  361. data/docs/Tasker/StepDagRelationship.html +657 -0
  362. data/docs/Tasker/StepHandler/Api/Config.html +1091 -0
  363. data/docs/Tasker/StepHandler/Api.html +884 -0
  364. data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +321 -0
  365. data/docs/Tasker/StepHandler/Base.html +970 -0
  366. data/docs/Tasker/StepHandler.html +119 -0
  367. data/docs/Tasker/StepReadinessStatus.html +836 -0
  368. data/docs/Tasker/Task.html +2575 -0
  369. data/docs/Tasker/TaskAnnotation.html +137 -0
  370. data/docs/Tasker/TaskAnnotationSerializer.html +124 -0
  371. data/docs/Tasker/TaskBuilder/StepNameValidator.html +264 -0
  372. data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +264 -0
  373. data/docs/Tasker/TaskBuilder.html +764 -0
  374. data/docs/Tasker/TaskDiagram/StepToStepEdgeBuilder.html +260 -0
  375. data/docs/Tasker/TaskDiagram/TaskToRootStepEdgeBuilder.html +290 -0
  376. data/docs/Tasker/TaskDiagram.html +548 -0
  377. data/docs/Tasker/TaskDiagramsController.html +240 -0
  378. data/docs/Tasker/TaskExecutionContext.html +469 -0
  379. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +238 -0
  380. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +254 -0
  381. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +988 -0
  382. data/docs/Tasker/TaskHandler/ClassMethods.html +357 -0
  383. data/docs/Tasker/TaskHandler/InstanceMethods.html +1396 -0
  384. data/docs/Tasker/TaskHandler/StepGroup.html +1748 -0
  385. data/docs/Tasker/TaskHandler.html +271 -0
  386. data/docs/Tasker/TaskNamespace.html +312 -0
  387. data/docs/Tasker/TaskRunnerJob.html +406 -0
  388. data/docs/Tasker/TaskSerializer.html +474 -0
  389. data/docs/Tasker/TaskTransition.html +1517 -0
  390. data/docs/Tasker/TaskWorkflowSummary.html +988 -0
  391. data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +132 -0
  392. data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +139 -0
  393. data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +132 -0
  394. data/docs/Tasker/TaskerRailsSchema.html +384 -0
  395. data/docs/Tasker/TasksController.html +595 -0
  396. data/docs/Tasker/Telemetry/EventMapping.html +1307 -0
  397. data/docs/Tasker/Telemetry/EventRouter.html +2178 -0
  398. data/docs/Tasker/Telemetry/Events/ExportEvents.html +246 -0
  399. data/docs/Tasker/Telemetry/Events.html +115 -0
  400. data/docs/Tasker/Telemetry/ExportCoordinator/DistributedLockTimeoutError.html +135 -0
  401. data/docs/Tasker/Telemetry/ExportCoordinator.html +2137 -0
  402. data/docs/Tasker/Telemetry/IntelligentCacheManager.html +1083 -0
  403. data/docs/Tasker/Telemetry/LogBackend.html +1088 -0
  404. data/docs/Tasker/Telemetry/MetricTypes/Counter.html +1054 -0
  405. data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +1270 -0
  406. data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +1492 -0
  407. data/docs/Tasker/Telemetry/MetricTypes.html +153 -0
  408. data/docs/Tasker/Telemetry/MetricsBackend.html +2510 -0
  409. data/docs/Tasker/Telemetry/MetricsExportService.html +578 -0
  410. data/docs/Tasker/Telemetry/PluginRegistry.html +1774 -0
  411. data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1835 -0
  412. data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +768 -0
  413. data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +747 -0
  414. data/docs/Tasker/Telemetry/Plugins.html +117 -0
  415. data/docs/Tasker/Telemetry/PrometheusExporter.html +481 -0
  416. data/docs/Tasker/Telemetry/TraceBackend.html +891 -0
  417. data/docs/Tasker/Telemetry.html +130 -0
  418. data/docs/Tasker/Types/AuthConfig.html +886 -0
  419. data/docs/Tasker/Types/BackoffConfig.html +1063 -0
  420. data/docs/Tasker/Types/BaseConfig.html +227 -0
  421. data/docs/Tasker/Types/CacheConfig.html +1731 -0
  422. data/docs/Tasker/Types/DatabaseConfig.html +388 -0
  423. data/docs/Tasker/Types/DependencyGraph.html +526 -0
  424. data/docs/Tasker/Types/DependencyGraphConfig.html +753 -0
  425. data/docs/Tasker/Types/EngineConfig.html +1181 -0
  426. data/docs/Tasker/Types/ExecutionConfig.html +1963 -0
  427. data/docs/Tasker/Types/GraphEdge.html +517 -0
  428. data/docs/Tasker/Types/GraphMetadata.html +781 -0
  429. data/docs/Tasker/Types/GraphNode.html +694 -0
  430. data/docs/Tasker/Types/HealthConfig.html +784 -0
  431. data/docs/Tasker/Types/StepSequence.html +353 -0
  432. data/docs/Tasker/Types/StepTemplate.html +1193 -0
  433. data/docs/Tasker/Types/TaskRequest.html +1179 -0
  434. data/docs/Tasker/Types/TelemetryConfig.html +2746 -0
  435. data/docs/Tasker/Types.html +154 -0
  436. data/docs/Tasker/WorkflowStep/StepFinder.html +282 -0
  437. data/docs/Tasker/WorkflowStep.html +2724 -0
  438. data/docs/Tasker/WorkflowStepEdge.html +304 -0
  439. data/docs/Tasker/WorkflowStepSerializer.html +305 -0
  440. data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +282 -0
  441. data/docs/Tasker/WorkflowStepTransition.html +2201 -0
  442. data/docs/Tasker/WorkflowStepsController.html +462 -0
  443. data/docs/Tasker.html +452 -0
  444. data/docs/VISION.md +584 -0
  445. data/docs/WHY.md +21 -0
  446. data/docs/_index.html +2375 -0
  447. data/docs/class_list.html +54 -0
  448. data/docs/css/common.css +1 -0
  449. data/docs/css/full_list.css +58 -0
  450. data/docs/css/style.css +503 -0
  451. data/docs/events/migration_plan_outcomes.md +80 -0
  452. data/docs/file.README.html +541 -0
  453. data/docs/file_list.html +59 -0
  454. data/docs/frames.html +22 -0
  455. data/docs/index.html +541 -0
  456. data/docs/js/app.js +344 -0
  457. data/docs/js/full_list.js +242 -0
  458. data/docs/js/jquery.js +4 -0
  459. data/docs/method_list.html +9182 -0
  460. data/docs/top-level-namespace.html +110 -0
  461. data/lib/generators/tasker/authenticator_generator.rb +301 -0
  462. data/lib/generators/tasker/authorization_coordinator_generator.rb +139 -0
  463. data/lib/generators/tasker/events_generator.rb +91 -0
  464. data/lib/generators/tasker/subscriber_generator.rb +107 -0
  465. data/lib/generators/tasker/task_handler_generator.rb +138 -0
  466. data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +113 -0
  467. data/lib/generators/tasker/templates/api_token_authenticator_spec.rb.erb +144 -0
  468. data/lib/generators/tasker/templates/authorization_coordinator.rb.erb +95 -0
  469. data/lib/generators/tasker/templates/authorization_coordinator_spec.rb.erb +142 -0
  470. data/lib/generators/tasker/templates/custom_authenticator.rb.erb +108 -0
  471. data/lib/generators/tasker/templates/custom_authenticator_spec.rb.erb +162 -0
  472. data/lib/generators/tasker/templates/custom_events.yml.erb +62 -0
  473. data/lib/generators/tasker/templates/custom_subscriber.rb.erb +72 -0
  474. data/lib/generators/tasker/templates/devise_authenticator.rb.erb +101 -0
  475. data/lib/generators/tasker/templates/devise_authenticator_spec.rb.erb +126 -0
  476. data/lib/generators/tasker/templates/initialize.rb.erb +202 -0
  477. data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +144 -0
  478. data/lib/generators/tasker/templates/jwt_authenticator_spec.rb.erb +298 -0
  479. data/lib/generators/tasker/templates/metrics_subscriber.rb.erb +258 -0
  480. data/lib/generators/tasker/templates/metrics_subscriber_spec.rb.erb +308 -0
  481. data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +135 -0
  482. data/lib/generators/tasker/templates/omniauth_authenticator_spec.rb.erb +196 -0
  483. data/lib/generators/tasker/templates/opentelemetry_initializer.rb +52 -0
  484. data/lib/generators/tasker/templates/subscriber.rb.erb +64 -0
  485. data/lib/generators/tasker/templates/subscriber_spec.rb.erb +80 -0
  486. data/lib/generators/tasker/templates/task_config.yaml.erb +117 -0
  487. data/lib/generators/tasker/templates/task_handler.rb.erb +59 -0
  488. data/lib/generators/tasker/templates/task_handler_spec.rb.erb +159 -0
  489. data/lib/tasker/analysis/runtime_graph_analyzer.rb +1168 -0
  490. data/lib/tasker/analysis/template_graph_analyzer.rb +328 -0
  491. data/lib/tasker/authentication/coordinator.rb +78 -0
  492. data/lib/tasker/authentication/errors.rb +9 -0
  493. data/lib/tasker/authentication/interface.rb +36 -0
  494. data/lib/tasker/authentication/none_authenticator.rb +26 -0
  495. data/lib/tasker/authorization/base_coordinator.rb +112 -0
  496. data/lib/tasker/authorization/errors.rb +26 -0
  497. data/lib/tasker/authorization/resource_constants.rb +74 -0
  498. data/lib/tasker/authorization/resource_registry.rb +143 -0
  499. data/lib/tasker/authorization.rb +75 -0
  500. data/lib/tasker/cache_capabilities.rb +131 -0
  501. data/lib/tasker/cache_strategy.rb +469 -0
  502. data/lib/tasker/concerns/authenticatable.rb +41 -0
  503. data/lib/tasker/concerns/authorizable.rb +204 -0
  504. data/lib/tasker/concerns/controller_authorizable.rb +124 -0
  505. data/lib/tasker/concerns/event_publisher.rb +716 -0
  506. data/lib/tasker/concerns/idempotent_state_transitions.rb +128 -0
  507. data/lib/tasker/concerns/state_machine_base.rb +218 -0
  508. data/lib/tasker/concerns/structured_logging.rb +387 -0
  509. data/lib/tasker/configuration.rb +325 -0
  510. data/lib/tasker/constants/event_definitions.rb +147 -0
  511. data/lib/tasker/constants/registry_events.rb +54 -0
  512. data/lib/tasker/constants.rb +417 -0
  513. data/lib/tasker/engine.rb +90 -0
  514. data/lib/tasker/errors.rb +90 -0
  515. data/lib/tasker/events/catalog.rb +432 -0
  516. data/lib/tasker/events/custom_registry.rb +175 -0
  517. data/lib/tasker/events/definition_loader.rb +199 -0
  518. data/lib/tasker/events/event_payload_builder.rb +461 -0
  519. data/lib/tasker/events/publisher.rb +149 -0
  520. data/lib/tasker/events/subscribers/base_subscriber.rb +601 -0
  521. data/lib/tasker/events/subscribers/metrics_subscriber.rb +120 -0
  522. data/lib/tasker/events/subscribers/telemetry_subscriber.rb +462 -0
  523. data/lib/tasker/events/subscription_loader.rb +161 -0
  524. data/lib/tasker/events.rb +37 -0
  525. data/lib/tasker/functions/function_based_analytics_metrics.rb +103 -0
  526. data/lib/tasker/functions/function_based_dependency_levels.rb +54 -0
  527. data/lib/tasker/functions/function_based_slowest_steps.rb +84 -0
  528. data/lib/tasker/functions/function_based_slowest_tasks.rb +84 -0
  529. data/lib/tasker/functions/function_based_step_readiness_status.rb +183 -0
  530. data/lib/tasker/functions/function_based_system_health_counts.rb +94 -0
  531. data/lib/tasker/functions/function_based_task_execution_context.rb +148 -0
  532. data/lib/tasker/functions/function_wrapper.rb +42 -0
  533. data/lib/tasker/functions.rb +12 -0
  534. data/lib/tasker/handler_factory.rb +322 -0
  535. data/lib/tasker/health/readiness_checker.rb +186 -0
  536. data/lib/tasker/health/status_checker.rb +203 -0
  537. data/lib/tasker/identity_strategy.rb +38 -0
  538. data/lib/tasker/logging/correlation_id_generator.rb +120 -0
  539. data/lib/tasker/orchestration/backoff_calculator.rb +184 -0
  540. data/lib/tasker/orchestration/connection_builder.rb +122 -0
  541. data/lib/tasker/orchestration/connection_pool_intelligence.rb +177 -0
  542. data/lib/tasker/orchestration/coordinator.rb +119 -0
  543. data/lib/tasker/orchestration/future_state_analyzer.rb +137 -0
  544. data/lib/tasker/orchestration/plugin_integration.rb +124 -0
  545. data/lib/tasker/orchestration/response_processor.rb +168 -0
  546. data/lib/tasker/orchestration/retry_header_parser.rb +78 -0
  547. data/lib/tasker/orchestration/step_executor.rb +941 -0
  548. data/lib/tasker/orchestration/step_sequence_factory.rb +67 -0
  549. data/lib/tasker/orchestration/task_finalizer.rb +564 -0
  550. data/lib/tasker/orchestration/task_initializer.rb +140 -0
  551. data/lib/tasker/orchestration/task_reenqueuer.rb +71 -0
  552. data/lib/tasker/orchestration/viable_step_discovery.rb +65 -0
  553. data/lib/tasker/orchestration/workflow_coordinator.rb +294 -0
  554. data/lib/tasker/orchestration.rb +45 -0
  555. data/lib/tasker/railtie.rb +9 -0
  556. data/lib/tasker/registry/base_registry.rb +177 -0
  557. data/lib/tasker/registry/event_publisher.rb +91 -0
  558. data/lib/tasker/registry/interface_validator.rb +140 -0
  559. data/lib/tasker/registry/statistics_collector.rb +381 -0
  560. data/lib/tasker/registry/subscriber_registry.rb +285 -0
  561. data/lib/tasker/registry.rb +22 -0
  562. data/lib/tasker/state_machine/step_state_machine.rb +508 -0
  563. data/lib/tasker/state_machine/task_state_machine.rb +192 -0
  564. data/lib/tasker/state_machine.rb +83 -0
  565. data/lib/tasker/step_handler/api.rb +410 -0
  566. data/lib/tasker/step_handler/base.rb +206 -0
  567. data/lib/tasker/task_builder.rb +432 -0
  568. data/lib/tasker/task_handler/class_methods.rb +324 -0
  569. data/lib/tasker/task_handler/instance_methods.rb +293 -0
  570. data/lib/tasker/task_handler/step_group.rb +182 -0
  571. data/lib/tasker/task_handler.rb +43 -0
  572. data/lib/tasker/telemetry/event_mapping.rb +126 -0
  573. data/lib/tasker/telemetry/event_router.rb +318 -0
  574. data/lib/tasker/telemetry/events/export_events.rb +38 -0
  575. data/lib/tasker/telemetry/export_coordinator.rb +497 -0
  576. data/lib/tasker/telemetry/intelligent_cache_manager.rb +508 -0
  577. data/lib/tasker/telemetry/log_backend.rb +224 -0
  578. data/lib/tasker/telemetry/metric_types.rb +368 -0
  579. data/lib/tasker/telemetry/metrics_backend.rb +1227 -0
  580. data/lib/tasker/telemetry/metrics_export_service.rb +392 -0
  581. data/lib/tasker/telemetry/plugin_registry.rb +333 -0
  582. data/lib/tasker/telemetry/plugins/base_exporter.rb +246 -0
  583. data/lib/tasker/telemetry/plugins/csv_exporter.rb +198 -0
  584. data/lib/tasker/telemetry/plugins/json_exporter.rb +141 -0
  585. data/lib/tasker/telemetry/prometheus_exporter.rb +249 -0
  586. data/lib/tasker/telemetry/trace_backend.rb +186 -0
  587. data/lib/tasker/telemetry.rb +59 -0
  588. data/lib/tasker/types/auth_config.rb +81 -0
  589. data/lib/tasker/types/backoff_config.rb +142 -0
  590. data/lib/tasker/types/cache_config.rb +257 -0
  591. data/lib/tasker/types/database_config.rb +39 -0
  592. data/lib/tasker/types/dependency_graph.rb +225 -0
  593. data/lib/tasker/types/dependency_graph_config.rb +149 -0
  594. data/lib/tasker/types/engine_config.rb +131 -0
  595. data/lib/tasker/types/execution_config.rb +289 -0
  596. data/lib/tasker/types/health_config.rb +84 -0
  597. data/lib/tasker/types/step_sequence.rb +24 -0
  598. data/lib/tasker/types/step_template.rb +63 -0
  599. data/lib/tasker/types/task_request.rb +60 -0
  600. data/lib/tasker/types/telemetry_config.rb +273 -0
  601. data/lib/tasker/types.rb +64 -0
  602. data/lib/tasker/version.rb +7 -0
  603. data/lib/tasker.rb +82 -0
  604. data/lib/tasks/tasker_tasks.rake +302 -0
  605. metadata +958 -0
@@ -0,0 +1,1669 @@
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::Configuration
8
+
9
+ &mdash; 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::Configuration";
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 (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span>
41
+ &raquo;
42
+ <span class="title">Configuration</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::Configuration
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::Configuration</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/tasker/configuration.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>Configuration class for the Tasker gem</p>
106
+
107
+ <p>Handles global configuration options with nested configuration blocks for better organization and discoverability.</p>
108
+
109
+ <p>All configuration types are now implemented using dry-struct for type safety, immutability, and consistent validation patterns.</p>
110
+
111
+
112
+ </div>
113
+ </div>
114
+ <div class="tags">
115
+
116
+
117
+ </div><h2>Defined Under Namespace</h2>
118
+ <p class="children">
119
+
120
+
121
+
122
+
123
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span>, <span class='object_link'><a href="Configuration/TelemetryConfigurationProxy.html" title="Tasker::Configuration::TelemetryConfigurationProxy (class)">TelemetryConfigurationProxy</a></span>
124
+
125
+
126
+ </p>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+ <h2>
136
+ Instance Method Summary
137
+ <small><a href="#" class="summary_toggle">collapse</a></small>
138
+ </h2>
139
+
140
+ <ul class="summary">
141
+
142
+ <li class="public ">
143
+ <span class="summary_signature">
144
+
145
+ <a href="#auth-instance_method" title="#auth (instance method)">#<strong>auth</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::AuthConfig </a>
146
+
147
+
148
+
149
+ </span>
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+ <span class="summary_desc"><div class='inline'>
160
+ <p>Configure authentication and authorization settings.</p>
161
+ </div></span>
162
+
163
+ </li>
164
+
165
+
166
+ <li class="public ">
167
+ <span class="summary_signature">
168
+
169
+ <a href="#authentication-instance_method" title="#authentication (instance method)">#<strong>authentication</strong> &#x21d2; Tasker::Types::AuthConfig </a>
170
+
171
+
172
+
173
+ </span>
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+ <span class="summary_desc"><div class='inline'>
184
+ <p>Alias for auth configuration for backward compatibility.</p>
185
+ </div></span>
186
+
187
+ </li>
188
+
189
+
190
+ <li class="public ">
191
+ <span class="summary_signature">
192
+
193
+ <a href="#backoff-instance_method" title="#backoff (instance method)">#<strong>backoff</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::BackoffConfig </a>
194
+
195
+
196
+
197
+ </span>
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+ <span class="summary_desc"><div class='inline'>
208
+ <p>Configure backoff calculation settings.</p>
209
+ </div></span>
210
+
211
+ </li>
212
+
213
+
214
+ <li class="public ">
215
+ <span class="summary_signature">
216
+
217
+ <a href="#cache-instance_method" title="#cache (instance method)">#<strong>cache</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::CacheConfig </a>
218
+
219
+
220
+
221
+ </span>
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ <span class="summary_desc"><div class='inline'>
232
+ <p>Configure intelligent cache strategy settings.</p>
233
+ </div></span>
234
+
235
+ </li>
236
+
237
+
238
+ <li class="public ">
239
+ <span class="summary_signature">
240
+
241
+ <a href="#database-instance_method" title="#database (instance method)">#<strong>database</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::DatabaseConfig </a>
242
+
243
+
244
+
245
+ </span>
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+ <span class="summary_desc"><div class='inline'>
256
+ <p>Configure database settings.</p>
257
+ </div></span>
258
+
259
+ </li>
260
+
261
+
262
+ <li class="public ">
263
+ <span class="summary_signature">
264
+
265
+ <a href="#dependency_graph-instance_method" title="#dependency_graph (instance method)">#<strong>dependency_graph</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::DependencyGraphConfig </a>
266
+
267
+
268
+
269
+ </span>
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+ <span class="summary_desc"><div class='inline'>
280
+ <p>Configure dependency graph calculation settings.</p>
281
+ </div></span>
282
+
283
+ </li>
284
+
285
+
286
+ <li class="public ">
287
+ <span class="summary_signature">
288
+
289
+ <a href="#dup-instance_method" title="#dup (instance method)">#<strong>dup</strong> &#x21d2; Object </a>
290
+
291
+
292
+
293
+ </span>
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+ <span class="summary_desc"><div class='inline'>
304
+ <p>Create a deep copy of the configuration.</p>
305
+ </div></span>
306
+
307
+ </li>
308
+
309
+
310
+ <li class="public ">
311
+ <span class="summary_signature">
312
+
313
+ <a href="#engine-instance_method" title="#engine (instance method)">#<strong>engine</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::EngineConfig </a>
314
+
315
+
316
+
317
+ </span>
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+ <span class="summary_desc"><div class='inline'>
328
+ <p>Configure core engine settings.</p>
329
+ </div></span>
330
+
331
+ </li>
332
+
333
+
334
+ <li class="public ">
335
+ <span class="summary_signature">
336
+
337
+ <a href="#execution-instance_method" title="#execution (instance method)">#<strong>execution</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::ExecutionConfig </a>
338
+
339
+
340
+
341
+ </span>
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+ <span class="summary_desc"><div class='inline'>
352
+ <p>Configure step execution and concurrency settings.</p>
353
+ </div></span>
354
+
355
+ </li>
356
+
357
+
358
+ <li class="public ">
359
+ <span class="summary_signature">
360
+
361
+ <a href="#health-instance_method" title="#health (instance method)">#<strong>health</strong> {|ConfigurationProxy| ... } &#x21d2; Tasker::Types::HealthConfig </a>
362
+
363
+
364
+
365
+ </span>
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+ <span class="summary_desc"><div class='inline'>
376
+ <p>Configure health check settings.</p>
377
+ </div></span>
378
+
379
+ </li>
380
+
381
+
382
+ <li class="public ">
383
+ <span class="summary_signature">
384
+
385
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> &#x21d2; Configuration </a>
386
+
387
+
388
+
389
+ </span>
390
+
391
+
392
+ <span class="note title constructor">constructor</span>
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+ <span class="summary_desc"><div class='inline'>
402
+ <p>Initialize a new configuration with default values.</p>
403
+ </div></span>
404
+
405
+ </li>
406
+
407
+
408
+ <li class="public ">
409
+ <span class="summary_signature">
410
+
411
+ <a href="#reset!-instance_method" title="#reset! (instance method)">#<strong>reset!</strong> &#x21d2; Object </a>
412
+
413
+
414
+
415
+ </span>
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+ <span class="summary_desc"><div class='inline'>
426
+ <p>Reset configuration to defaults (useful for testing).</p>
427
+ </div></span>
428
+
429
+ </li>
430
+
431
+
432
+ <li class="public ">
433
+ <span class="summary_signature">
434
+
435
+ <a href="#telemetry-instance_method" title="#telemetry (instance method)">#<strong>telemetry</strong> {|TelemetryConfigurationProxy| ... } &#x21d2; Tasker::Types::TelemetryConfig </a>
436
+
437
+
438
+
439
+ </span>
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+ <span class="summary_desc"><div class='inline'>
450
+ <p>Configure telemetry and observability settings.</p>
451
+ </div></span>
452
+
453
+ </li>
454
+
455
+
456
+ <li class="public ">
457
+ <span class="summary_signature">
458
+
459
+ <a href="#validate_required_settings-instance_method" title="#validate_required_settings (instance method)">#<strong>validate_required_settings</strong> &#x21d2; true </a>
460
+
461
+
462
+
463
+ </span>
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+ <span class="summary_desc"><div class='inline'>
474
+ <p>Validate required configuration settings for system health Used by health check endpoints to ensure system is properly configured.</p>
475
+ </div></span>
476
+
477
+ </li>
478
+
479
+
480
+ </ul>
481
+
482
+
483
+ <div id="constructor_details" class="method_details_list">
484
+ <h2>Constructor Details</h2>
485
+
486
+ <div class="method_details first">
487
+ <h3 class="signature first" id="initialize-instance_method">
488
+
489
+ #<strong>initialize</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Tasker::Configuration (class)">Configuration</a></span></tt>
490
+
491
+
492
+
493
+
494
+
495
+ </h3><div class="docstring">
496
+ <div class="discussion">
497
+
498
+ <p>Initialize a new configuration with default values</p>
499
+
500
+
501
+ </div>
502
+ </div>
503
+ <div class="tags">
504
+
505
+
506
+ </div><table class="source_code">
507
+ <tr>
508
+ <td>
509
+ <pre class="lines">
510
+
511
+
512
+ 88
513
+ 89
514
+ 90
515
+ 91
516
+ 92
517
+ 93
518
+ 94
519
+ 95
520
+ 96
521
+ 97
522
+ 98
523
+ 99</pre>
524
+ </td>
525
+ <td>
526
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 88</span>
527
+
528
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
529
+ <span class='comment'># Initialize nested configurations using dry-struct types
530
+ </span> <span class='ivar'>@auth_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">AuthConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
531
+ <span class='ivar'>@database_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/DatabaseConfig.html" title="Tasker::Types::DatabaseConfig (class)">DatabaseConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
532
+ <span class='ivar'>@telemetry_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/TelemetryConfig.html" title="Tasker::Types::TelemetryConfig (class)">TelemetryConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
533
+ <span class='ivar'>@engine_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/EngineConfig.html" title="Tasker::Types::EngineConfig (class)">EngineConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
534
+ <span class='ivar'>@health_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/HealthConfig.html" title="Tasker::Types::HealthConfig (class)">HealthConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
535
+ <span class='ivar'>@dependency_graph_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/DependencyGraphConfig.html" title="Tasker::Types::DependencyGraphConfig (class)">DependencyGraphConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
536
+ <span class='ivar'>@backoff_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/BackoffConfig.html" title="Tasker::Types::BackoffConfig (class)">BackoffConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
537
+ <span class='ivar'>@execution_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/ExecutionConfig.html" title="Tasker::Types::ExecutionConfig (class)">ExecutionConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
538
+ <span class='ivar'>@cache_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/CacheConfig.html" title="Tasker::Types::CacheConfig (class)">CacheConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
539
+ <span class='kw'>end</span></pre>
540
+ </td>
541
+ </tr>
542
+ </table>
543
+ </div>
544
+
545
+ </div>
546
+
547
+
548
+ <div id="instance_method_details" class="method_details_list">
549
+ <h2>Instance Method Details</h2>
550
+
551
+
552
+ <div class="method_details first">
553
+ <h3 class="signature first" id="auth-instance_method">
554
+
555
+ #<strong>auth</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">Tasker::Types::AuthConfig</a></span></tt>
556
+
557
+
558
+
559
+
560
+
561
+ </h3><div class="docstring">
562
+ <div class="discussion">
563
+
564
+ <p>Configure authentication and authorization settings</p>
565
+
566
+
567
+ </div>
568
+ </div>
569
+ <div class="tags">
570
+
571
+ <p class="tag_title">Yields:</p>
572
+ <ul class="yield">
573
+
574
+ <li>
575
+
576
+
577
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
578
+
579
+
580
+
581
+ &mdash;
582
+ <div class='inline'>
583
+ <p>A configuration object for setting auth options</p>
584
+ </div>
585
+
586
+ </li>
587
+
588
+ </ul>
589
+ <p class="tag_title">Returns:</p>
590
+ <ul class="return">
591
+
592
+ <li>
593
+
594
+
595
+ <span class='type'>(<tt><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">Tasker::Types::AuthConfig</a></span></tt>)</span>
596
+
597
+
598
+
599
+ &mdash;
600
+ <div class='inline'>
601
+ <p>The auth configuration instance</p>
602
+ </div>
603
+
604
+ </li>
605
+
606
+ </ul>
607
+
608
+ </div><table class="source_code">
609
+ <tr>
610
+ <td>
611
+ <pre class="lines">
612
+
613
+
614
+ 135
615
+ 136
616
+ 137
617
+ 138
618
+ 139
619
+ 140
620
+ 141
621
+ 142
622
+ 143
623
+ 144</pre>
624
+ </td>
625
+ <td>
626
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 135</span>
627
+
628
+ <span class='kw'>def</span> <span class='id identifier rubyid_auth'>auth</span>
629
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
630
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
631
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@auth_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
632
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
633
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
634
+ <span class='ivar'>@auth_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">AuthConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
635
+ <span class='kw'>end</span>
636
+ <span class='ivar'>@auth_config</span>
637
+ <span class='kw'>end</span></pre>
638
+ </td>
639
+ </tr>
640
+ </table>
641
+ </div>
642
+
643
+ <div class="method_details ">
644
+ <h3 class="signature " id="authentication-instance_method">
645
+
646
+ #<strong>authentication</strong> &#x21d2; <tt><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">Tasker::Types::AuthConfig</a></span></tt>
647
+
648
+
649
+
650
+
651
+
652
+ </h3><div class="docstring">
653
+ <div class="discussion">
654
+
655
+ <p>Alias for auth configuration for backward compatibility</p>
656
+
657
+
658
+ </div>
659
+ </div>
660
+ <div class="tags">
661
+
662
+ <p class="tag_title">Returns:</p>
663
+ <ul class="return">
664
+
665
+ <li>
666
+
667
+
668
+ <span class='type'>(<tt><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">Tasker::Types::AuthConfig</a></span></tt>)</span>
669
+
670
+
671
+
672
+ &mdash;
673
+ <div class='inline'>
674
+ <p>The authentication configuration instance</p>
675
+ </div>
676
+
677
+ </li>
678
+
679
+ </ul>
680
+
681
+ </div><table class="source_code">
682
+ <tr>
683
+ <td>
684
+ <pre class="lines">
685
+
686
+
687
+ 148
688
+ 149
689
+ 150</pre>
690
+ </td>
691
+ <td>
692
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 148</span>
693
+
694
+ <span class='kw'>def</span> <span class='id identifier rubyid_authentication'>authentication</span>
695
+ <span class='ivar'>@auth_config</span>
696
+ <span class='kw'>end</span></pre>
697
+ </td>
698
+ </tr>
699
+ </table>
700
+ </div>
701
+
702
+ <div class="method_details ">
703
+ <h3 class="signature " id="backoff-instance_method">
704
+
705
+ #<strong>backoff</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/BackoffConfig.html" title="Tasker::Types::BackoffConfig (class)">Tasker::Types::BackoffConfig</a></span></tt>
706
+
707
+
708
+
709
+
710
+
711
+ </h3><div class="docstring">
712
+ <div class="discussion">
713
+
714
+ <p>Configure backoff calculation settings</p>
715
+
716
+
717
+ </div>
718
+ </div>
719
+ <div class="tags">
720
+
721
+ <p class="tag_title">Yields:</p>
722
+ <ul class="yield">
723
+
724
+ <li>
725
+
726
+
727
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
728
+
729
+
730
+
731
+ &mdash;
732
+ <div class='inline'>
733
+ <p>A configuration object for setting backoff options</p>
734
+ </div>
735
+
736
+ </li>
737
+
738
+ </ul>
739
+ <p class="tag_title">Returns:</p>
740
+ <ul class="return">
741
+
742
+ <li>
743
+
744
+
745
+ <span class='type'>(<tt><span class='object_link'><a href="Types/BackoffConfig.html" title="Tasker::Types::BackoffConfig (class)">Tasker::Types::BackoffConfig</a></span></tt>)</span>
746
+
747
+
748
+
749
+ &mdash;
750
+ <div class='inline'>
751
+ <p>The backoff configuration instance</p>
752
+ </div>
753
+
754
+ </li>
755
+
756
+ </ul>
757
+
758
+ </div><table class="source_code">
759
+ <tr>
760
+ <td>
761
+ <pre class="lines">
762
+
763
+
764
+ 231
765
+ 232
766
+ 233
767
+ 234
768
+ 235
769
+ 236
770
+ 237
771
+ 238
772
+ 239
773
+ 240</pre>
774
+ </td>
775
+ <td>
776
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 231</span>
777
+
778
+ <span class='kw'>def</span> <span class='id identifier rubyid_backoff'>backoff</span>
779
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
780
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
781
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@backoff_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
782
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
783
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
784
+ <span class='ivar'>@backoff_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/BackoffConfig.html" title="Tasker::Types::BackoffConfig (class)">BackoffConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
785
+ <span class='kw'>end</span>
786
+ <span class='ivar'>@backoff_config</span>
787
+ <span class='kw'>end</span></pre>
788
+ </td>
789
+ </tr>
790
+ </table>
791
+ </div>
792
+
793
+ <div class="method_details ">
794
+ <h3 class="signature " id="cache-instance_method">
795
+
796
+ #<strong>cache</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/CacheConfig.html" title="Tasker::Types::CacheConfig (class)">Tasker::Types::CacheConfig</a></span></tt>
797
+
798
+
799
+
800
+
801
+
802
+ </h3><div class="docstring">
803
+ <div class="discussion">
804
+
805
+ <p>Configure intelligent cache strategy settings</p>
806
+
807
+
808
+ </div>
809
+ </div>
810
+ <div class="tags">
811
+
812
+ <p class="tag_title">Yields:</p>
813
+ <ul class="yield">
814
+
815
+ <li>
816
+
817
+
818
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
819
+
820
+
821
+
822
+ &mdash;
823
+ <div class='inline'>
824
+ <p>A configuration object for setting cache options</p>
825
+ </div>
826
+
827
+ </li>
828
+
829
+ </ul>
830
+ <p class="tag_title">Returns:</p>
831
+ <ul class="return">
832
+
833
+ <li>
834
+
835
+
836
+ <span class='type'>(<tt><span class='object_link'><a href="Types/CacheConfig.html" title="Tasker::Types::CacheConfig (class)">Tasker::Types::CacheConfig</a></span></tt>)</span>
837
+
838
+
839
+
840
+ &mdash;
841
+ <div class='inline'>
842
+ <p>The cache configuration instance</p>
843
+ </div>
844
+
845
+ </li>
846
+
847
+ </ul>
848
+
849
+ </div><table class="source_code">
850
+ <tr>
851
+ <td>
852
+ <pre class="lines">
853
+
854
+
855
+ 261
856
+ 262
857
+ 263
858
+ 264
859
+ 265
860
+ 266
861
+ 267
862
+ 268
863
+ 269
864
+ 270</pre>
865
+ </td>
866
+ <td>
867
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 261</span>
868
+
869
+ <span class='kw'>def</span> <span class='id identifier rubyid_cache'>cache</span>
870
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
871
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
872
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@cache_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
873
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
874
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
875
+ <span class='ivar'>@cache_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/CacheConfig.html" title="Tasker::Types::CacheConfig (class)">CacheConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
876
+ <span class='kw'>end</span>
877
+ <span class='ivar'>@cache_config</span>
878
+ <span class='kw'>end</span></pre>
879
+ </td>
880
+ </tr>
881
+ </table>
882
+ </div>
883
+
884
+ <div class="method_details ">
885
+ <h3 class="signature " id="database-instance_method">
886
+
887
+ #<strong>database</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/DatabaseConfig.html" title="Tasker::Types::DatabaseConfig (class)">Tasker::Types::DatabaseConfig</a></span></tt>
888
+
889
+
890
+
891
+
892
+
893
+ </h3><div class="docstring">
894
+ <div class="discussion">
895
+
896
+ <p>Configure database settings</p>
897
+
898
+
899
+ </div>
900
+ </div>
901
+ <div class="tags">
902
+
903
+ <p class="tag_title">Yields:</p>
904
+ <ul class="yield">
905
+
906
+ <li>
907
+
908
+
909
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
910
+
911
+
912
+
913
+ &mdash;
914
+ <div class='inline'>
915
+ <p>A configuration object for setting database options</p>
916
+ </div>
917
+
918
+ </li>
919
+
920
+ </ul>
921
+ <p class="tag_title">Returns:</p>
922
+ <ul class="return">
923
+
924
+ <li>
925
+
926
+
927
+ <span class='type'>(<tt><span class='object_link'><a href="Types/DatabaseConfig.html" title="Tasker::Types::DatabaseConfig (class)">Tasker::Types::DatabaseConfig</a></span></tt>)</span>
928
+
929
+
930
+
931
+ &mdash;
932
+ <div class='inline'>
933
+ <p>The database configuration instance</p>
934
+ </div>
935
+
936
+ </li>
937
+
938
+ </ul>
939
+
940
+ </div><table class="source_code">
941
+ <tr>
942
+ <td>
943
+ <pre class="lines">
944
+
945
+
946
+ 156
947
+ 157
948
+ 158
949
+ 159
950
+ 160
951
+ 161
952
+ 162
953
+ 163
954
+ 164
955
+ 165</pre>
956
+ </td>
957
+ <td>
958
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 156</span>
959
+
960
+ <span class='kw'>def</span> <span class='id identifier rubyid_database'>database</span>
961
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
962
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
963
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@database_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
964
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
965
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
966
+ <span class='ivar'>@database_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/DatabaseConfig.html" title="Tasker::Types::DatabaseConfig (class)">DatabaseConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
967
+ <span class='kw'>end</span>
968
+ <span class='ivar'>@database_config</span>
969
+ <span class='kw'>end</span></pre>
970
+ </td>
971
+ </tr>
972
+ </table>
973
+ </div>
974
+
975
+ <div class="method_details ">
976
+ <h3 class="signature " id="dependency_graph-instance_method">
977
+
978
+ #<strong>dependency_graph</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/DependencyGraphConfig.html" title="Tasker::Types::DependencyGraphConfig (class)">Tasker::Types::DependencyGraphConfig</a></span></tt>
979
+
980
+
981
+
982
+
983
+
984
+ </h3><div class="docstring">
985
+ <div class="discussion">
986
+
987
+ <p>Configure dependency graph calculation settings</p>
988
+
989
+
990
+ </div>
991
+ </div>
992
+ <div class="tags">
993
+
994
+ <p class="tag_title">Yields:</p>
995
+ <ul class="yield">
996
+
997
+ <li>
998
+
999
+
1000
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
1001
+
1002
+
1003
+
1004
+ &mdash;
1005
+ <div class='inline'>
1006
+ <p>A configuration object for setting dependency graph options</p>
1007
+ </div>
1008
+
1009
+ </li>
1010
+
1011
+ </ul>
1012
+ <p class="tag_title">Returns:</p>
1013
+ <ul class="return">
1014
+
1015
+ <li>
1016
+
1017
+
1018
+ <span class='type'>(<tt><span class='object_link'><a href="Types/DependencyGraphConfig.html" title="Tasker::Types::DependencyGraphConfig (class)">Tasker::Types::DependencyGraphConfig</a></span></tt>)</span>
1019
+
1020
+
1021
+
1022
+ &mdash;
1023
+ <div class='inline'>
1024
+ <p>The dependency graph configuration instance</p>
1025
+ </div>
1026
+
1027
+ </li>
1028
+
1029
+ </ul>
1030
+
1031
+ </div><table class="source_code">
1032
+ <tr>
1033
+ <td>
1034
+ <pre class="lines">
1035
+
1036
+
1037
+ 216
1038
+ 217
1039
+ 218
1040
+ 219
1041
+ 220
1042
+ 221
1043
+ 222
1044
+ 223
1045
+ 224
1046
+ 225</pre>
1047
+ </td>
1048
+ <td>
1049
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 216</span>
1050
+
1051
+ <span class='kw'>def</span> <span class='id identifier rubyid_dependency_graph'>dependency_graph</span>
1052
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1053
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
1054
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@dependency_graph_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
1055
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
1056
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
1057
+ <span class='ivar'>@dependency_graph_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/DependencyGraphConfig.html" title="Tasker::Types::DependencyGraphConfig (class)">DependencyGraphConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
1058
+ <span class='kw'>end</span>
1059
+ <span class='ivar'>@dependency_graph_config</span>
1060
+ <span class='kw'>end</span></pre>
1061
+ </td>
1062
+ </tr>
1063
+ </table>
1064
+ </div>
1065
+
1066
+ <div class="method_details ">
1067
+ <h3 class="signature " id="dup-instance_method">
1068
+
1069
+ #<strong>dup</strong> &#x21d2; <tt>Object</tt>
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+ </h3><div class="docstring">
1076
+ <div class="discussion">
1077
+
1078
+ <p>Create a deep copy of the configuration</p>
1079
+
1080
+ <p>Since dry-struct types are immutable, we don’t need to duplicate them</p>
1081
+
1082
+
1083
+ </div>
1084
+ </div>
1085
+ <div class="tags">
1086
+
1087
+
1088
+ </div><table class="source_code">
1089
+ <tr>
1090
+ <td>
1091
+ <pre class="lines">
1092
+
1093
+
1094
+ 117
1095
+ 118
1096
+ 119
1097
+ 120
1098
+ 121
1099
+ 122
1100
+ 123
1101
+ 124
1102
+ 125
1103
+ 126
1104
+ 127
1105
+ 128
1106
+ 129</pre>
1107
+ </td>
1108
+ <td>
1109
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 117</span>
1110
+
1111
+ <span class='kw'>def</span> <span class='id identifier rubyid_dup'>dup</span>
1112
+ <span class='id identifier rubyid_new_config'>new_config</span> <span class='op'>=</span> <span class='kw'>super</span>
1113
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@auth_config</span><span class='comma'>,</span> <span class='ivar'>@auth_config</span><span class='rparen'>)</span>
1114
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@database_config</span><span class='comma'>,</span> <span class='ivar'>@database_config</span><span class='rparen'>)</span>
1115
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@telemetry_config</span><span class='comma'>,</span> <span class='ivar'>@telemetry_config</span><span class='rparen'>)</span>
1116
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@engine_config</span><span class='comma'>,</span> <span class='ivar'>@engine_config</span><span class='rparen'>)</span>
1117
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@health_config</span><span class='comma'>,</span> <span class='ivar'>@health_config</span><span class='rparen'>)</span>
1118
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@dependency_graph_config</span><span class='comma'>,</span> <span class='ivar'>@dependency_graph_config</span><span class='rparen'>)</span>
1119
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@backoff_config</span><span class='comma'>,</span> <span class='ivar'>@backoff_config</span><span class='rparen'>)</span>
1120
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@execution_config</span><span class='comma'>,</span> <span class='ivar'>@execution_config</span><span class='rparen'>)</span>
1121
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@cache_config</span><span class='comma'>,</span> <span class='ivar'>@cache_config</span><span class='rparen'>)</span>
1122
+ <span class='id identifier rubyid_new_config'>new_config</span>
1123
+ <span class='kw'>end</span></pre>
1124
+ </td>
1125
+ </tr>
1126
+ </table>
1127
+ </div>
1128
+
1129
+ <div class="method_details ">
1130
+ <h3 class="signature " id="engine-instance_method">
1131
+
1132
+ #<strong>engine</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/EngineConfig.html" title="Tasker::Types::EngineConfig (class)">Tasker::Types::EngineConfig</a></span></tt>
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+ </h3><div class="docstring">
1139
+ <div class="discussion">
1140
+
1141
+ <p>Configure core engine settings</p>
1142
+
1143
+
1144
+ </div>
1145
+ </div>
1146
+ <div class="tags">
1147
+
1148
+ <p class="tag_title">Yields:</p>
1149
+ <ul class="yield">
1150
+
1151
+ <li>
1152
+
1153
+
1154
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
1155
+
1156
+
1157
+
1158
+ &mdash;
1159
+ <div class='inline'>
1160
+ <p>A configuration object for setting engine options</p>
1161
+ </div>
1162
+
1163
+ </li>
1164
+
1165
+ </ul>
1166
+ <p class="tag_title">Returns:</p>
1167
+ <ul class="return">
1168
+
1169
+ <li>
1170
+
1171
+
1172
+ <span class='type'>(<tt><span class='object_link'><a href="Types/EngineConfig.html" title="Tasker::Types::EngineConfig (class)">Tasker::Types::EngineConfig</a></span></tt>)</span>
1173
+
1174
+
1175
+
1176
+ &mdash;
1177
+ <div class='inline'>
1178
+ <p>The engine configuration instance</p>
1179
+ </div>
1180
+
1181
+ </li>
1182
+
1183
+ </ul>
1184
+
1185
+ </div><table class="source_code">
1186
+ <tr>
1187
+ <td>
1188
+ <pre class="lines">
1189
+
1190
+
1191
+ 186
1192
+ 187
1193
+ 188
1194
+ 189
1195
+ 190
1196
+ 191
1197
+ 192
1198
+ 193
1199
+ 194
1200
+ 195</pre>
1201
+ </td>
1202
+ <td>
1203
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 186</span>
1204
+
1205
+ <span class='kw'>def</span> <span class='id identifier rubyid_engine'>engine</span>
1206
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1207
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
1208
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@engine_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
1209
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
1210
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
1211
+ <span class='ivar'>@engine_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/EngineConfig.html" title="Tasker::Types::EngineConfig (class)">EngineConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
1212
+ <span class='kw'>end</span>
1213
+ <span class='ivar'>@engine_config</span>
1214
+ <span class='kw'>end</span></pre>
1215
+ </td>
1216
+ </tr>
1217
+ </table>
1218
+ </div>
1219
+
1220
+ <div class="method_details ">
1221
+ <h3 class="signature " id="execution-instance_method">
1222
+
1223
+ #<strong>execution</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/ExecutionConfig.html" title="Tasker::Types::ExecutionConfig (class)">Tasker::Types::ExecutionConfig</a></span></tt>
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+ </h3><div class="docstring">
1230
+ <div class="discussion">
1231
+
1232
+ <p>Configure step execution and concurrency settings</p>
1233
+
1234
+
1235
+ </div>
1236
+ </div>
1237
+ <div class="tags">
1238
+
1239
+ <p class="tag_title">Yields:</p>
1240
+ <ul class="yield">
1241
+
1242
+ <li>
1243
+
1244
+
1245
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
1246
+
1247
+
1248
+
1249
+ &mdash;
1250
+ <div class='inline'>
1251
+ <p>A configuration object for setting execution options</p>
1252
+ </div>
1253
+
1254
+ </li>
1255
+
1256
+ </ul>
1257
+ <p class="tag_title">Returns:</p>
1258
+ <ul class="return">
1259
+
1260
+ <li>
1261
+
1262
+
1263
+ <span class='type'>(<tt><span class='object_link'><a href="Types/ExecutionConfig.html" title="Tasker::Types::ExecutionConfig (class)">Tasker::Types::ExecutionConfig</a></span></tt>)</span>
1264
+
1265
+
1266
+
1267
+ &mdash;
1268
+ <div class='inline'>
1269
+ <p>The execution configuration instance</p>
1270
+ </div>
1271
+
1272
+ </li>
1273
+
1274
+ </ul>
1275
+
1276
+ </div><table class="source_code">
1277
+ <tr>
1278
+ <td>
1279
+ <pre class="lines">
1280
+
1281
+
1282
+ 246
1283
+ 247
1284
+ 248
1285
+ 249
1286
+ 250
1287
+ 251
1288
+ 252
1289
+ 253
1290
+ 254
1291
+ 255</pre>
1292
+ </td>
1293
+ <td>
1294
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 246</span>
1295
+
1296
+ <span class='kw'>def</span> <span class='id identifier rubyid_execution'>execution</span>
1297
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1298
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
1299
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@execution_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
1300
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
1301
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
1302
+ <span class='ivar'>@execution_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/ExecutionConfig.html" title="Tasker::Types::ExecutionConfig (class)">ExecutionConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
1303
+ <span class='kw'>end</span>
1304
+ <span class='ivar'>@execution_config</span>
1305
+ <span class='kw'>end</span></pre>
1306
+ </td>
1307
+ </tr>
1308
+ </table>
1309
+ </div>
1310
+
1311
+ <div class="method_details ">
1312
+ <h3 class="signature " id="health-instance_method">
1313
+
1314
+ #<strong>health</strong> {|ConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/HealthConfig.html" title="Tasker::Types::HealthConfig (class)">Tasker::Types::HealthConfig</a></span></tt>
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+ </h3><div class="docstring">
1321
+ <div class="discussion">
1322
+
1323
+ <p>Configure health check settings</p>
1324
+
1325
+
1326
+ </div>
1327
+ </div>
1328
+ <div class="tags">
1329
+
1330
+ <p class="tag_title">Yields:</p>
1331
+ <ul class="yield">
1332
+
1333
+ <li>
1334
+
1335
+
1336
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></tt>)</span>
1337
+
1338
+
1339
+
1340
+ &mdash;
1341
+ <div class='inline'>
1342
+ <p>A configuration object for setting health options</p>
1343
+ </div>
1344
+
1345
+ </li>
1346
+
1347
+ </ul>
1348
+ <p class="tag_title">Returns:</p>
1349
+ <ul class="return">
1350
+
1351
+ <li>
1352
+
1353
+
1354
+ <span class='type'>(<tt><span class='object_link'><a href="Types/HealthConfig.html" title="Tasker::Types::HealthConfig (class)">Tasker::Types::HealthConfig</a></span></tt>)</span>
1355
+
1356
+
1357
+
1358
+ &mdash;
1359
+ <div class='inline'>
1360
+ <p>The health configuration instance</p>
1361
+ </div>
1362
+
1363
+ </li>
1364
+
1365
+ </ul>
1366
+
1367
+ </div><table class="source_code">
1368
+ <tr>
1369
+ <td>
1370
+ <pre class="lines">
1371
+
1372
+
1373
+ 201
1374
+ 202
1375
+ 203
1376
+ 204
1377
+ 205
1378
+ 206
1379
+ 207
1380
+ 208
1381
+ 209
1382
+ 210</pre>
1383
+ </td>
1384
+ <td>
1385
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 201</span>
1386
+
1387
+ <span class='kw'>def</span> <span class='id identifier rubyid_health'>health</span>
1388
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1389
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
1390
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@health_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
1391
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/ConfigurationProxy.html" title="Tasker::Configuration::ConfigurationProxy (class)">ConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
1392
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
1393
+ <span class='ivar'>@health_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/HealthConfig.html" title="Tasker::Types::HealthConfig (class)">HealthConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
1394
+ <span class='kw'>end</span>
1395
+ <span class='ivar'>@health_config</span>
1396
+ <span class='kw'>end</span></pre>
1397
+ </td>
1398
+ </tr>
1399
+ </table>
1400
+ </div>
1401
+
1402
+ <div class="method_details ">
1403
+ <h3 class="signature " id="reset!-instance_method">
1404
+
1405
+ #<strong>reset!</strong> &#x21d2; <tt>Object</tt>
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+ </h3><div class="docstring">
1412
+ <div class="discussion">
1413
+
1414
+ <p>Reset configuration to defaults (useful for testing)</p>
1415
+
1416
+
1417
+ </div>
1418
+ </div>
1419
+ <div class="tags">
1420
+
1421
+
1422
+ </div><table class="source_code">
1423
+ <tr>
1424
+ <td>
1425
+ <pre class="lines">
1426
+
1427
+
1428
+ 102
1429
+ 103
1430
+ 104
1431
+ 105
1432
+ 106
1433
+ 107
1434
+ 108
1435
+ 109
1436
+ 110
1437
+ 111
1438
+ 112</pre>
1439
+ </td>
1440
+ <td>
1441
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 102</span>
1442
+
1443
+ <span class='kw'>def</span> <span class='id identifier rubyid_reset!'>reset!</span>
1444
+ <span class='ivar'>@auth_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/AuthConfig.html" title="Tasker::Types::AuthConfig (class)">AuthConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1445
+ <span class='ivar'>@database_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/DatabaseConfig.html" title="Tasker::Types::DatabaseConfig (class)">DatabaseConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1446
+ <span class='ivar'>@telemetry_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/TelemetryConfig.html" title="Tasker::Types::TelemetryConfig (class)">TelemetryConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1447
+ <span class='ivar'>@engine_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/EngineConfig.html" title="Tasker::Types::EngineConfig (class)">EngineConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1448
+ <span class='ivar'>@health_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/HealthConfig.html" title="Tasker::Types::HealthConfig (class)">HealthConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1449
+ <span class='ivar'>@dependency_graph_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/DependencyGraphConfig.html" title="Tasker::Types::DependencyGraphConfig (class)">DependencyGraphConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1450
+ <span class='ivar'>@backoff_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/BackoffConfig.html" title="Tasker::Types::BackoffConfig (class)">BackoffConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1451
+ <span class='ivar'>@execution_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/ExecutionConfig.html" title="Tasker::Types::ExecutionConfig (class)">ExecutionConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1452
+ <span class='ivar'>@cache_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/CacheConfig.html" title="Tasker::Types::CacheConfig (class)">CacheConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span>
1453
+ <span class='kw'>end</span></pre>
1454
+ </td>
1455
+ </tr>
1456
+ </table>
1457
+ </div>
1458
+
1459
+ <div class="method_details ">
1460
+ <h3 class="signature " id="telemetry-instance_method">
1461
+
1462
+ #<strong>telemetry</strong> {|TelemetryConfigurationProxy| ... } &#x21d2; <tt><span class='object_link'><a href="Types/TelemetryConfig.html" title="Tasker::Types::TelemetryConfig (class)">Tasker::Types::TelemetryConfig</a></span></tt>
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+ </h3><div class="docstring">
1469
+ <div class="discussion">
1470
+
1471
+ <p>Configure telemetry and observability settings</p>
1472
+
1473
+
1474
+ </div>
1475
+ </div>
1476
+ <div class="tags">
1477
+
1478
+ <p class="tag_title">Yields:</p>
1479
+ <ul class="yield">
1480
+
1481
+ <li>
1482
+
1483
+
1484
+ <span class='type'>(<tt><span class='object_link'><a href="Configuration/TelemetryConfigurationProxy.html" title="Tasker::Configuration::TelemetryConfigurationProxy (class)">TelemetryConfigurationProxy</a></span></tt>)</span>
1485
+
1486
+
1487
+
1488
+ &mdash;
1489
+ <div class='inline'>
1490
+ <p>A configuration object for setting telemetry options</p>
1491
+ </div>
1492
+
1493
+ </li>
1494
+
1495
+ </ul>
1496
+ <p class="tag_title">Returns:</p>
1497
+ <ul class="return">
1498
+
1499
+ <li>
1500
+
1501
+
1502
+ <span class='type'>(<tt><span class='object_link'><a href="Types/TelemetryConfig.html" title="Tasker::Types::TelemetryConfig (class)">Tasker::Types::TelemetryConfig</a></span></tt>)</span>
1503
+
1504
+
1505
+
1506
+ &mdash;
1507
+ <div class='inline'>
1508
+ <p>The telemetry configuration instance</p>
1509
+ </div>
1510
+
1511
+ </li>
1512
+
1513
+ </ul>
1514
+
1515
+ </div><table class="source_code">
1516
+ <tr>
1517
+ <td>
1518
+ <pre class="lines">
1519
+
1520
+
1521
+ 171
1522
+ 172
1523
+ 173
1524
+ 174
1525
+ 175
1526
+ 176
1527
+ 177
1528
+ 178
1529
+ 179
1530
+ 180</pre>
1531
+ </td>
1532
+ <td>
1533
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 171</span>
1534
+
1535
+ <span class='kw'>def</span> <span class='id identifier rubyid_telemetry'>telemetry</span>
1536
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1537
+ <span class='comment'># For block configuration, we need to create a new instance with the block&#39;s values
1538
+ </span> <span class='id identifier rubyid_current_values'>current_values</span> <span class='op'>=</span> <span class='ivar'>@telemetry_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
1539
+ <span class='id identifier rubyid_yield_config'>yield_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Configuration/TelemetryConfigurationProxy.html" title="Tasker::Configuration::TelemetryConfigurationProxy (class)">TelemetryConfigurationProxy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Configuration/ConfigurationProxy.html#initialize-instance_method" title="Tasker::Configuration::ConfigurationProxy#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_current_values'>current_values</span><span class='rparen'>)</span>
1540
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='rparen'>)</span>
1541
+ <span class='ivar'>@telemetry_config</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types.html" title="Tasker::Types (module)">Types</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Types/TelemetryConfig.html" title="Tasker::Types::TelemetryConfig (class)">TelemetryConfig</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Types/BaseConfig.html#initialize-instance_method" title="Tasker::Types::BaseConfig#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_yield_config'>yield_config</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='rparen'>)</span>
1542
+ <span class='kw'>end</span>
1543
+ <span class='ivar'>@telemetry_config</span>
1544
+ <span class='kw'>end</span></pre>
1545
+ </td>
1546
+ </tr>
1547
+ </table>
1548
+ </div>
1549
+
1550
+ <div class="method_details ">
1551
+ <h3 class="signature " id="validate_required_settings-instance_method">
1552
+
1553
+ #<strong>validate_required_settings</strong> &#x21d2; <tt>true</tt>
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+ </h3><div class="docstring">
1560
+ <div class="discussion">
1561
+
1562
+ <p>Validate required configuration settings for system health Used by health check endpoints to ensure system is properly configured</p>
1563
+
1564
+
1565
+ </div>
1566
+ </div>
1567
+ <div class="tags">
1568
+
1569
+ <p class="tag_title">Returns:</p>
1570
+ <ul class="return">
1571
+
1572
+ <li>
1573
+
1574
+
1575
+ <span class='type'>(<tt>true</tt>)</span>
1576
+
1577
+
1578
+
1579
+ &mdash;
1580
+ <div class='inline'>
1581
+ <p>if valid</p>
1582
+ </div>
1583
+
1584
+ </li>
1585
+
1586
+ </ul>
1587
+ <p class="tag_title">Raises:</p>
1588
+ <ul class="raise">
1589
+
1590
+ <li>
1591
+
1592
+
1593
+ <span class='type'>(<tt>StandardError</tt>)</span>
1594
+
1595
+
1596
+
1597
+ &mdash;
1598
+ <div class='inline'>
1599
+ <p>if invalid configuration found</p>
1600
+ </div>
1601
+
1602
+ </li>
1603
+
1604
+ </ul>
1605
+
1606
+ </div><table class="source_code">
1607
+ <tr>
1608
+ <td>
1609
+ <pre class="lines">
1610
+
1611
+
1612
+ 276
1613
+ 277
1614
+ 278
1615
+ 279
1616
+ 280
1617
+ 281
1618
+ 282
1619
+ 283
1620
+ 284
1621
+ 285
1622
+ 286
1623
+ 287
1624
+ 288
1625
+ 289
1626
+ 290
1627
+ 291
1628
+ 292
1629
+ 293</pre>
1630
+ </td>
1631
+ <td>
1632
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 276</span>
1633
+
1634
+ <span class='kw'>def</span> <span class='id identifier rubyid_validate_required_settings'>validate_required_settings</span>
1635
+ <span class='id identifier rubyid_errors'>errors</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1636
+
1637
+ <span class='comment'># Database connectivity check
1638
+ </span> <span class='id identifier rubyid_errors'>errors</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Database connection required</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_database_connected?'>database_connected?</span>
1639
+
1640
+ <span class='comment'># Authentication configuration validation (if enabled)
1641
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_auth'>auth</span><span class='period'>.</span><span class='id identifier rubyid_authentication_enabled'>authentication_enabled</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_auth'>auth</span><span class='period'>.</span><span class='id identifier rubyid_authenticator_class'>authenticator_class</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span>
1642
+ <span class='id identifier rubyid_errors'>errors</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Authentication enabled but no authenticator_class configured</span><span class='tstring_end'>&#39;</span></span>
1643
+ <span class='kw'>end</span>
1644
+
1645
+ <span class='comment'># Health configuration validation (dry-struct handles validation automatically)
1646
+ </span> <span class='ivar'>@health_config</span><span class='op'>&amp;.</span><span class='id identifier rubyid_validate!'>validate!</span>
1647
+
1648
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>StandardError</span><span class='comma'>,</span> <span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>, </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
1649
+
1650
+ <span class='kw'>true</span>
1651
+ <span class='kw'>end</span></pre>
1652
+ </td>
1653
+ </tr>
1654
+ </table>
1655
+ </div>
1656
+
1657
+ </div>
1658
+
1659
+ </div>
1660
+
1661
+ <div id="footer">
1662
+ Generated on Tue Jul 1 16:47:36 2025 by
1663
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1664
+ 0.9.37 (ruby-3.2.4).
1665
+ </div>
1666
+
1667
+ </div>
1668
+ </body>
1669
+ </html>