Module: Dynflow

Defined in:
lib/dynflow.rb,
lib/dynflow/web.rb,
lib/dynflow/actor.rb,
lib/dynflow/clock.rb,
lib/dynflow/flows.rb,
lib/dynflow/rails.rb,
lib/dynflow/utils.rb,
lib/dynflow/world.rb,
lib/dynflow/action.rb,
lib/dynflow/actors.rb,
lib/dynflow/config.rb,
lib/dynflow/errors.rb,
lib/dynflow/testing.rb,
lib/dynflow/version.rb,
lib/dynflow/director.rb,
lib/dynflow/stateful.rb,
lib/dynflow/action/v2.rb,
lib/dynflow/executors.rb,
lib/dynflow/telemetry.rb,
lib/dynflow/connectors.rb,
lib/dynflow/dispatcher.rb,
lib/dynflow/extensions.rb,
lib/dynflow/flows/atom.rb,
lib/dynflow/middleware.rb,
lib/dynflow/semaphores.rb,
lib/dynflow/serializer.rb,
lib/dynflow/coordinator.rb,
lib/dynflow/persistence.rb,
lib/dynflow/round_robin.rb,
lib/dynflow/serializers.rb,
lib/dynflow/web/console.rb,
lib/dynflow/delayed_plan.rb,
lib/dynflow/rails/daemon.rb,
lib/dynflow/serializable.rb,
lib/dynflow/action/format.rb,
lib/dynflow/action/rescue.rb,
lib/dynflow/testing/mimic.rb,
lib/dynflow/action/missing.rb,
lib/dynflow/action/polling.rb,
lib/dynflow/execution_plan.rb,
lib/dynflow/flows/abstract.rb,
lib/dynflow/flows/registry.rb,
lib/dynflow/flows/sequence.rb,
lib/dynflow/action/progress.rb,
lib/dynflow/action/timeouts.rb,
lib/dynflow/logger_adapters.rb,
lib/dynflow/action/singleton.rb,
lib/dynflow/action/suspended.rb,
lib/dynflow/middleware/stack.rb,
lib/dynflow/middleware/world.rb,
lib/dynflow/semaphores/dummy.rb,
lib/dynflow/serializers/noop.rb,
lib/dynflow/throttle_limiter.rb,
lib/dynflow/connectors/direct.rb,
lib/dynflow/delayed_executors.rb,
lib/dynflow/execution_history.rb,
lib/dynflow/flows/concurrence.rb,
lib/dynflow/testing/factories.rb,
lib/dynflow/web/world_helpers.rb,
lib/dynflow/action/cancellable.rb,
lib/dynflow/executors/parallel.rb,
lib/dynflow/extensions/msgpack.rb,
lib/dynflow/testing/assertions.rb,
lib/dynflow/testing/dummy_step.rb,
lib/dynflow/world/invalidation.rb,
lib/dynflow/connectors/abstract.rb,
lib/dynflow/connectors/database.rb,
lib/dynflow/director/queue_hash.rb,
lib/dynflow/dispatcher/abstract.rb,
lib/dynflow/middleware/register.rb,
lib/dynflow/middleware/resolver.rb,
lib/dynflow/rails/configuration.rb,
lib/dynflow/semaphores/abstract.rb,
lib/dynflow/semaphores/stateful.rb,
lib/dynflow/testing/dummy_world.rb,
lib/dynflow/web/console_helpers.rb,
lib/dynflow/coordinator_adapters.rb,
lib/dynflow/dead_letter_silencer.rb,
lib/dynflow/execution_plan/hooks.rb,
lib/dynflow/execution_plan/steps.rb,
lib/dynflow/persistence_adapters.rb,
lib/dynflow/serializers/abstract.rb,
lib/dynflow/transaction_adapters.rb,
lib/dynflow/utils/priority_queue.rb,
lib/dynflow/action/with_sub_plans.rb,
lib/dynflow/director/flow_manager.rb,
lib/dynflow/testing/managed_clock.rb,
lib/dynflow/web/filtering_helpers.rb,
lib/dynflow/executors/sidekiq/core.rb,
lib/dynflow/logger_adapters/simple.rb,
lib/dynflow/semaphores/aggregating.rb,
lib/dynflow/testing/dummy_executor.rb,
lib/dynflow/utils/indifferent_hash.rb,
lib/dynflow/executors/abstract/core.rb,
lib/dynflow/executors/parallel/core.rb,
lib/dynflow/executors/parallel/pool.rb,
lib/dynflow/flows/abstract_composed.rb,
lib/dynflow/testing/in_thread_world.rb,
lib/dynflow/active_job/queue_adapter.rb,
lib/dynflow/director/sequence_cursor.rb,
lib/dynflow/logger_adapters/abstract.rb,
lib/dynflow/telemetry_adapters/dummy.rb,
lib/dynflow/delayed_executors/polling.rb,
lib/dynflow/executors/parallel/worker.rb,
lib/dynflow/logger_adapters/delegator.rb,
lib/dynflow/telemetry_adapters/statsd.rb,
lib/dynflow/testing/dummy_coordinator.rb,
lib/dynflow/transaction_adapters/none.rb,
lib/dynflow/action/with_bulk_sub_plans.rb,
lib/dynflow/delayed_executors/abstract.rb,
lib/dynflow/execution_plan/steps/error.rb,
lib/dynflow/logger_adapters/formatters.rb,
lib/dynflow/testing/in_thread_executor.rb,
lib/dynflow/coordinator_adapters/sequel.rb,
lib/dynflow/debug/telemetry/persistence.rb,
lib/dynflow/director/sequential_manager.rb,
lib/dynflow/middleware/common/singleton.rb,
lib/dynflow/persistence_adapters/sequel.rb,
lib/dynflow/telemetry_adapters/abstract.rb,
lib/dynflow/dispatcher/client_dispatcher.rb,
lib/dynflow/testing/dummy_execution_plan.rb,
lib/dynflow/testing/dummy_planned_action.rb,
lib/dynflow/action/with_polling_sub_plans.rb,
lib/dynflow/actors/execution_plan_cleaner.rb,
lib/dynflow/coordinator_adapters/abstract.rb,
lib/dynflow/execution_plan/steps/abstract.rb,
lib/dynflow/execution_plan/steps/run_step.rb,
lib/dynflow/executors/sidekiq/worker_jobs.rb,
lib/dynflow/middleware/common/transaction.rb,
lib/dynflow/persistence_adapters/abstract.rb,
lib/dynflow/transaction_adapters/abstract.rb,
lib/dynflow/director/running_steps_manager.rb,
lib/dynflow/dispatcher/executor_dispatcher.rb,
lib/dynflow/execution_plan/steps/plan_step.rb,
lib/dynflow/delayed_executors/abstract_core.rb,
lib/dynflow/director/execution_plan_manager.rb,
lib/dynflow/execution_plan/dependency_graph.rb,
lib/dynflow/execution_plan/output_reference.rb,
lib/dynflow/executors/sidekiq/redis_locking.rb,
lib/dynflow/executors/sidekiq/serialization.rb,
lib/dynflow/execution_plan/steps/finalize_step.rb,
lib/dynflow/transaction_adapters/active_record.rb,
lib/dynflow/executors/sidekiq/internal_job_base.rb,
lib/dynflow/executors/sidekiq/orchestrator_jobs.rb,
lib/dynflow/logger_adapters/formatters/abstract.rb,
lib/dynflow/watchers/memory_consumption_watcher.rb,
lib/dynflow/logger_adapters/formatters/exception.rb,
lib/dynflow/execution_plan/steps/abstract_flow_step.rb

Overview

rubocop:disable Metrics/ClassLength

Defined Under Namespace

Modules: ActiveJob, Actors, Connectors, CoordinatorAdapters, Debug, DelayedExecutors, Dispatcher, EnvelopeBacktraceExtension, Errors, Executors, Extensions, Flows, LoggerAdapters, MethodicActor, PersistenceAdapters, Semaphores, Serializers, Stateful, TelemetryAdapters, Testing, TransactionAdapters, Utils, Watchers, Web Classes: Action, Actor, Clock, ClockReference, Config, Coordinator, DeadLetterSilencer, DelayedPlan, Director, Error, ExecutionHistory, ExecutionPlan, Middleware, Persistence, Rails, Railtie, RoundRobin, Serializable, Serializer, Telemetry, ThrottleLimiter, World

Constant Summary collapse

FULL_BACKTRACE =
%w[1 y yes].include?((ENV['DYNFLOW_FULL_BACKTRACE'] || '').downcase)
BACKTRACE_LIMIT =
begin
  limit = ENV['DYNFLOW_BACKTRACE_LIMIT'].to_i
  limit.zero? ? nil : limit
end
VERSION =
'1.9.0'
WebConsole =
Dynflow::Web

Class Method Summary collapse

Class Method Details

.process_worldDynflow::World?

Return the world that representing this process - this is mainly used by Sidekiq deployments, where there is a need for a global-level context.

Returns:



26
27
28
29
30
31
# File 'lib/dynflow.rb', line 26

def process_world
  return @process_world if defined? @process_world
  @process_world = Sidekiq.configure_server { |c| c[:dynflow_world] }
  raise "process world is not set" unless @process_world
  @process_world
end

.serializerObject



6
7
8
# File 'lib/dynflow/serializer.rb', line 6

def self.serializer
  @serializer ||= Serializer.new
end