Sha256: 895f7ed190cbc466480105791e2947dfcc9d545aca01c21c3ad8ecf38b75513e

Contents?: true

Size: 619 Bytes

Versions: 19

Compression:

Stored size: 619 Bytes

Contents

module Heartcheck
  module Checks
    class Process < Base
      def validate
        services.each do |service|
          begin
            pid = get_pid(service)
            ::Process.kill(0, pid)
          rescue Errno::ESRCH
            append_error(service, pid)
          end
        end
      end

      private

      def custom_error(service, pid)
        @errors << "The process of #{service[:name]} is not run with pid #{pid}"
      end

      def get_pid(service)
        if service[:pid]
          service[:pid]
        else
          File.read(service[:file]).to_i
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
heartcheck-2.0.0 lib/heartcheck/checks/process.rb
heartcheck-1.6.0 lib/heartcheck/checks/process.rb
heartcheck-1.5.1 lib/heartcheck/checks/process.rb
heartcheck-1.5.0 lib/heartcheck/checks/process.rb
heartcheck-1.4.0 lib/heartcheck/checks/process.rb
heartcheck-1.3.0 lib/heartcheck/checks/process.rb
heartcheck-1.2.2 lib/heartcheck/checks/process.rb
heartcheck-1.2.1 lib/heartcheck/checks/process.rb
heartcheck-1.2.0 lib/heartcheck/checks/process.rb
heartcheck-1.1.1 lib/heartcheck/checks/process.rb
heartcheck-1.1.0 lib/heartcheck/checks/process.rb
heartcheck-1.0.9 lib/heartcheck/checks/process.rb
heartcheck-1.0.8 lib/heartcheck/checks/process.rb
heartcheck-1.0.7 lib/heartcheck/checks/process.rb
heartcheck-1.0.6 lib/heartcheck/checks/process.rb
heartcheck-1.0.5 lib/heartcheck/checks/process.rb
heartcheck-1.0.4 lib/heartcheck/checks/process.rb
heartcheck-1.0.3 lib/heartcheck/checks/process.rb
heartcheck-1.0.0 lib/heartcheck/checks/process.rb