ManageIQ/miq_bot

View on GitHub
app/workers/github_notification_monitor_worker.rb

Summary

Maintainability
A
0 mins
Test Coverage
class GithubNotificationMonitorWorker
  include Sidekiq::Worker
  sidekiq_options :queue => :miq_bot, :retry => false

  include SidekiqWorkerMixin

  def perform
    if !first_unique_worker?
      logger.info "#{self.class} is already running, skipping"
    else
      process_repos
    end
  end

  def process_repos
    enabled_repos.each { |repo| process_repo(repo) }
  end

  def process_repo(repo)
    GithubNotificationMonitor.new(repo.name).process_notifications
  rescue => err
    logger.error err.message
    logger.error err.backtrace.join("\n")
  end
end