code: def daemon # rubocop: disable AbcSize, MethodLength
        # => Windows Workaround (https://github.com/bdwyertech/newrelic-management/issues/1)
        ENV['TZ'] = 'UTC' if OS.windows? && !ENV['TZ']
  
        scheduler = Rufus::Scheduler.new
        Notifier.msg('Daemonizing Process')
  
        # => Alerts Management
        alerts_interval = Config.alert_management_interval
        scheduler.every alerts_interval, overlap: false do
          Manager.manage_alerts
        end
  
        # => Cleanup Stale Servers
        if Config.cleanup
          cleanup_interval = Config.cleanup_interval
          cleanup_age = Config.cleanup_age
  
          scheduler.every cleanup_interval, overlap: false do
            Manager.remove_nonreporting_servers(cleanup_age)
          end
        end
  
        # => Join the Current Thread to the Scheduler Thread
        scheduler.join
      end
docs: => Daemonization for Periodic Management