Sha256: 24058368b320d739f7baa3a663cbe8b411a39fc3862f7ac0e8d39694df56ce90

Contents?: true

Size: 407 Bytes

Versions: 7

Compression:

Stored size: 407 Bytes

Contents

# frozen_string_literal: true

class RailsTransactionalOutbox
  class RunnerSleepInterval
    # TODO: maybe apply some backoff or longer pause if there were no entries to be processed?
    def self.interval_for(processed_entries, sleep_seconds, idle_delay_multiplier)
      if processed_entries.any?
        sleep_seconds
      else
        sleep_seconds * idle_delay_multiplier
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rails-transactional-outbox-1.0.0 lib/rails_transactional_outbox/runner_sleep_interval.rb
rails-transactional-outbox-0.4.0 lib/rails_transactional_outbox/runner_sleep_interval.rb
rails-transactional-outbox-0.3.1 lib/rails_transactional_outbox/runner_sleep_interval.rb
rails-transactional-outbox-0.3.0 lib/rails_transactional_outbox/runner_sleep_interval.rb
rails-transactional-outbox-0.2.1 lib/rails_transactional_outbox/runner_sleep_interval.rb
rails-transactional-outbox-0.2.0 lib/rails_transactional_outbox/runner_sleep_interval.rb
rails-transactional-outbox-0.1.0 lib/rails_transactional_outbox/runner_sleep_interval.rb