Sha256: dab0eeb599f04eb976600a7b088e143557b951c0dec597a028f73f1eb0a2bf21

Contents?: true

Size: 618 Bytes

Versions: 24

Compression:

Stored size: 618 Bytes

Contents

# frozen_string_literal: true

module Kafka
  class Heartbeat
    def initialize(group:, interval:, instrumenter:)
      @group = group
      @interval = interval
      @last_heartbeat = Time.now
      @instrumenter = instrumenter
    end

    def trigger!
      @instrumenter.instrument('heartbeat.consumer',
                               group_id: @group.group_id,
                               topic_partitions: @group.assigned_partitions) do
        @group.heartbeat
        @last_heartbeat = Time.now
      end
    end

    def trigger
      trigger! if Time.now > @last_heartbeat + @interval
    end
  end
end

Version data entries

24 entries across 24 versions & 4 rubygems

Version Path
ruby-kafka-1.5.0 lib/kafka/heartbeat.rb
ruby-kafka-aws-iam-1.4.5 lib/kafka/heartbeat.rb
ruby-kafka-aws-iam-1.4.4 lib/kafka/heartbeat.rb
ruby-kafka-aws-iam-1.4.3 lib/kafka/heartbeat.rb
ruby-kafka-aws-iam-1.4.2 lib/kafka/heartbeat.rb
ruby-kafka-aws-iam-1.4.1 lib/kafka/heartbeat.rb
ruby-kafka-1.4.0 lib/kafka/heartbeat.rb
ruby-kafka-temp-fork-0.0.2 lib/kafka/heartbeat.rb
ruby-kafka-temp-fork-0.0.1 lib/kafka/heartbeat.rb
ruby-kafka-1.3.0 lib/kafka/heartbeat.rb
ruby-kafka-1.2.0 lib/kafka/heartbeat.rb
ruby-kafka-1.1.0 lib/kafka/heartbeat.rb
ruby-kafka-1.1.0.beta1 lib/kafka/heartbeat.rb
ruby-kafka-1.0.0 lib/kafka/heartbeat.rb
ruby-kafka-0.7.10 lib/kafka/heartbeat.rb
ruby-kafka-0.7.9 lib/kafka/heartbeat.rb
ruby-kafka-0.7.8 lib/kafka/heartbeat.rb
ruby-kafka-0.7.7 lib/kafka/heartbeat.rb
ruby-kafka-custom-0.7.7.26 lib/kafka/heartbeat.rb
ruby-kafka-0.7.6 lib/kafka/heartbeat.rb