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