Sha256: e20cb1541674aaba9ca1fd04e6a128df28bbe8b209034743d399b554e64bbaf1

Contents?: true

Size: 358 Bytes

Versions: 1

Compression:

Stored size: 358 Bytes

Contents

# frozen_string_literal: true

module ActiveConcurrency
  module Schedulers
    class RoundRobin

      def initialize(pool, _options)
        mutex = Mutex.new
        @pool = pool.each { |w| w.mutex = mutex }.cycle
      end

      def schedule(*args, &block)
        worker = @pool.next
        worker.schedule(*args, &block)
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_concurrency-0.1.0 lib/active_concurrency/schedulers/round_robin.rb