Class: Textus::Action::Drain
Class Method Summary collapse
-
.call(container:, call:, prefix: nil, lane: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument.
Methods inherited from Base
Methods included from Contract::DSL
#arg, #cli, #cli_stdin, #contract, #contract?, #summary, #surfaces, #verb, #view
Class Method Details
.call(container:, call:, prefix: nil, lane: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/textus/action/drain.rb', line 13 def self.call(container:, call:, prefix: nil, lane: nil) # rubocop:disable Lint/UnusedMethodArgument queue = Textus::Store::Jobs::Queue.new(store: container.job_store) Textus::Store::Jobs::Planner.seed( container: container, queue: queue, role: call.role, ) queue.reclaim(now: Textus::Port::Clock.new.now) summary = Textus::Store::Jobs::Worker.for(container:, queue:).drain Success({ "protocol" => Textus::PROTOCOL, "ok" => summary.failed.zero?, "completed" => summary.completed, "failed" => summary.failed, }) end |