Sha256: 55a9f152d374e8ae5aea2e1a0965805280fe4095cb7a16b8b8654dc11b537f8a
Contents?: true
Size: 1.57 KB
Versions: 13
Compression:
Stored size: 1.57 KB
Contents
# Copyright (c) 2023 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true require 'contrast/components/ruby_component' module Contrast module Utils # A module that detects whether any job servers attached to # the application are running module JobServersRunning class << self def job_servers_running? sidekiq_running? || rake_running? end private def sidekiq_running? return unless defined?(Sidekiq) && Sidekiq.cs__respond_to?(:server?) && Sidekiq.server? true end def rake_running? unless defined?(Rake) && Rake.cs__respond_to?(:application) && Rake.application.cs__respond_to?(:top_level_tasks) return end # This might be called before component even exist, so we backup to # default disabled rake tasks. disabled_rake_tasks = if Contrast.const_defined?(:APP_CONTEXT) # rubocop:disable Security/Module/ConstDefined Contrast::APP_CONTEXT.disabled_agent_rake_tasks else Contrast::Components::Ruby::Interface::DISABLED_RAKE_TASK_LIST end has_disabled_task = Rake.application.top_level_tasks.any? do |top_level_task| disabled_rake_tasks.include?(top_level_task) end return false unless has_disabled_task true end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems