Module: Dynflow::Dispatcher

Defined in:
lib/dynflow/dispatcher.rb,
lib/dynflow/dispatcher/abstract.rb,
lib/dynflow/dispatcher/client_dispatcher.rb,
lib/dynflow/dispatcher/executor_dispatcher.rb

Defined Under Namespace

Modules: Envelope, Event Classes: Abstract, ClientDispatcher, ExecutorDispatcher

Constant Summary collapse

Request =
Algebrick.type do
  Event = type do
    fields! execution_plan_id: String,
            step_id:           Integer,
            event:             Object,
            time:              type { variants Time, NilClass },
            optional:          Algebrick::Types::Boolean
  end

  Execution = type do
    fields! execution_plan_id: String
  end

  Planning = type do
    fields! execution_plan_id: String
  end

  Ping = type do
    fields! receiver_id: String,
            use_cache: type { variants TrueClass, FalseClass }
  end

  Status = type do
    fields! receiver_id: String,
            execution_plan_id: type { variants String, NilClass }
  end

  Halt = type do
    fields! execution_plan_id: String, optional: Algebrick::Types::Boolean
  end

  variants Event, Execution, Ping, Status, Planning, Halt
end
Response =
Algebrick.type do
  variants Accepted = atom,
    Failed   = type { fields! error: String },
    Done     = atom,
    Pong     = atom,
    ExecutionStatus = type { fields! execution_status: Hash }
end