From 9dccc2fa55afa93f127098f762b9609c92853a73 Mon Sep 17 00:00:00 2001 From: Enrico Stano Date: Thu, 31 May 2018 14:36:25 +0200 Subject: [PATCH] Add sidekiq-cron --- Gemfile | 4 ++++ Gemfile.lock | 11 ++++++++++- config/initializers/sidekiq.rb | 5 +++++ config/routes.rb | 1 + config/sidekiq.yml | 3 +++ 5 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 config/initializers/sidekiq.rb create mode 100644 config/sidekiq.yml diff --git a/Gemfile b/Gemfile index 52e9115bf..3a36ae4cb 100644 --- a/Gemfile +++ b/Gemfile @@ -24,6 +24,10 @@ gem 'elasticsearch-model' gem 'elasticsearch-rails' gem 'skylight' gem 'sidekiq', '5.1.3' +gem 'sidekiq-cron', '0.6.3' +# TODO: remove this once the following issue has been addressed +# https://github.com/ondrejbartas/sidekiq-cron/issues/199 +gem 'rufus-scheduler', '~> 3.4.2' # Assets gem 'jquery-rails', '>= 4.2.0' diff --git a/Gemfile.lock b/Gemfile.lock index 3d5847c4a..77f77a7bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -144,6 +144,8 @@ GEM multi_json erubi (1.7.1) erubis (2.7.0) + et-orbi (1.1.2) + tzinfo execjs (2.6.0) fabrication (2.11.3) faker (1.4.3) @@ -321,6 +323,8 @@ GEM unicode-display_width (~> 1.0, >= 1.0.1) ruby-progressbar (1.9.0) rubyzip (1.2.1) + rufus-scheduler (3.4.2) + et-orbi (~> 1.0) sass (3.4.21) sass-rails (5.0.7) railties (>= 4.0.0, < 6) @@ -340,6 +344,9 @@ GEM connection_pool (~> 2.2, >= 2.2.0) rack-protection (>= 1.5.0) redis (>= 3.3.5, < 5) + sidekiq-cron (0.6.3) + rufus-scheduler (>= 3.3.0) + sidekiq (>= 4.2.1) simple_form (3.1.0) actionpack (~> 4.0) activemodel (~> 4.0) @@ -430,10 +437,12 @@ DEPENDENCIES rollbar (= 2.8.3) rspec-rails (~> 3.7.2) rubocop (~> 0.52.1) + rufus-scheduler (~> 3.4.2) sass-rails (~> 5.0.7) select2-rails shoulda-matchers (~> 3.1.2) sidekiq (= 5.1.3) + sidekiq-cron (= 0.6.3) simple_form (>= 3.0.0) skylight uglifier (= 2.7.2) @@ -445,4 +454,4 @@ RUBY VERSION ruby 2.3.0p0 BUNDLED WITH - 1.16.1 + 1.16.2 diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb new file mode 100644 index 000000000..c90629cc4 --- /dev/null +++ b/config/initializers/sidekiq.rb @@ -0,0 +1,5 @@ +schedule_file = 'config/schedule.yml' + +if File.exist?(schedule_file) && Sidekiq.server? + Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file) +end diff --git a/config/routes.rb b/config/routes.rb index 66ba58c3d..79c776c14 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,5 @@ require 'sidekiq/web' +require 'sidekiq/cron/web' Rails.application.routes.draw do root to: "home#index" diff --git a/config/sidekiq.yml b/config/sidekiq.yml new file mode 100644 index 000000000..d9d221a4c --- /dev/null +++ b/config/sidekiq.yml @@ -0,0 +1,3 @@ +:queues: + - default + - cron