diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 01a95103..a682acc1 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -678,7 +678,6 @@ Style/RescueStandardError: - 'app/lib/json_web_token.rb' - 'app/lib/send_grid_client.rb' - 'config/initializers/core_extensions/devise/strategies/json_web_token.rb' - - 'lib/tasks/git_hub.rake' - 'lib/tasks/meetup.rake' - 'lib/tasks/resource.rake' - 'lib/tasks/users.rake' diff --git a/.ruby-gemset b/.ruby-gemset index 382ffbf3..4dcdb08b 100644 --- a/.ruby-gemset +++ b/.ruby-gemset @@ -1 +1 @@ -operationcode_backend +-global \ No newline at end of file diff --git a/app/jobs/github_collect_statistics_job.rb b/app/jobs/github_collect_statistics_job.rb new file mode 100644 index 00000000..aa6fb4fd --- /dev/null +++ b/app/jobs/github_collect_statistics_job.rb @@ -0,0 +1,11 @@ +class GithubCollectStatisticsJob + include Sidekiq::Worker + + def perform + limit = GitHub::Client.new.rate_limit + logger.info("Github Ratelimit: #{limit}") + + GitHub::PullRequests.new.fetch_and_save! + GitHub::Issues.new.fetch_and_save! + end +end diff --git a/config/job_schedule.yml b/config/job_schedule.yml index b04f26a5..77705170 100644 --- a/config/job_schedule.yml +++ b/config/job_schedule.yml @@ -18,3 +18,9 @@ meetup_member_sync_job: cron: "0 4 * * *" class: "MeetupMemberSyncJob" queue: "default" + +# At 03:00 every day run the github collect statistics job +github_collect_statistics_job: + cron: "0 3 * * *" + class: "GithubCollectStatisticsJob" + queue: "default" diff --git a/config/routes.rb b/config/routes.rb index b4b29948..2a3e8193 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -5,7 +5,7 @@ require 'sidekiq/web' require 'sidekiq/cron/web' - authenticate :admin_user, ->(u) { u.role.super_admin? } do + authenticate :admin_user, ->(u) { u.role.admin_accessible? } do mount Sidekiq::Web => '/admin/sidekiq' end diff --git a/lib/tasks/git_hub.rake b/lib/tasks/git_hub.rake deleted file mode 100644 index 48eedd3a..00000000 --- a/lib/tasks/git_hub.rake +++ /dev/null @@ -1,15 +0,0 @@ -namespace :git_hub do - desc 'Saves pull request, commit, issue and user details for all repositories to date, to GitHubStatistic and GitHubUser' - task collect_statistics: :environment do - begin - limit = GitHub::Client.new.rate_limit - p 'Rate limit:' - p limit - - GitHub::PullRequests.new.fetch_and_save! - GitHub::Issues.new.fetch_and_save! - rescue => e - Rails.logger.error "When fetching and saving GitHub statistics, experienced this error: #{e}" - end - end -end