Sha256: 4f5c41937da502e26232ecfa3ba9bc8a3f24afb9820b3b7ee69dc802d9265d7a

Contents?: true

Size: 671 Bytes

Versions: 12

Compression:

Stored size: 671 Bytes

Contents

# frozen_string_literal: true

module Appsignal
  module CheckIn
    class Cron
      # @api private
      attr_reader :identifier, :digest

      def initialize(identifier:)
        @identifier = identifier
        @digest = SecureRandom.hex(8)
      end

      def start
        CheckIn.scheduler.schedule(event("start"))
      end

      def finish
        CheckIn.scheduler.schedule(event("finish"))
      end

      private

      def event(kind)
        {
          :identifier => @identifier,
          :digest => @digest,
          :kind => kind,
          :timestamp => Time.now.utc.to_i,
          :check_in_type => "cron"
        }
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
appsignal-4.0.9-java lib/appsignal/check_in/cron.rb
appsignal-4.0.9 lib/appsignal/check_in/cron.rb
appsignal-4.0.8-java lib/appsignal/check_in/cron.rb
appsignal-4.0.8 lib/appsignal/check_in/cron.rb
appsignal-4.0.7-java lib/appsignal/check_in/cron.rb
appsignal-4.0.7 lib/appsignal/check_in/cron.rb
appsignal-4.0.6-java lib/appsignal/check_in/cron.rb
appsignal-4.0.6 lib/appsignal/check_in/cron.rb
appsignal-4.0.5-java lib/appsignal/check_in/cron.rb
appsignal-4.0.5 lib/appsignal/check_in/cron.rb
appsignal-4.0.4-java lib/appsignal/check_in/cron.rb
appsignal-4.0.4 lib/appsignal/check_in/cron.rb