From 62e88fe7f14e253b1ee95c44beab6e670bb6257d Mon Sep 17 00:00:00 2001 From: aligo Kang Date: Tue, 21 Oct 2014 11:32:29 +0800 Subject: [PATCH 1/3] passing all specs --- lib/sunspot/queue/sidekiq.rb | 1 + spec/spec_helper.rb | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib/sunspot/queue/sidekiq.rb b/lib/sunspot/queue/sidekiq.rb index 38193f3..d02887b 100644 --- a/lib/sunspot/queue/sidekiq.rb +++ b/lib/sunspot/queue/sidekiq.rb @@ -1,3 +1,4 @@ +require "sidekiq" require "sunspot/queue" module Sunspot::Queue diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a6d02eb..2cf839f 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -41,6 +41,12 @@ class Person < ActiveRecord::Base end end +class Rails + def self.version + '4' + end +end + RSpec.configure do |config| config.treat_symbols_as_metadata_keys_with_true_values = true config.run_all_when_everything_filtered = true From fb9ef007ce9bf0d71fdc0c0c3944f33427725327 Mon Sep 17 00:00:00 2001 From: aligo Kang Date: Tue, 21 Oct 2014 11:56:46 +0800 Subject: [PATCH 2/3] Add `delay_for`, supported sidekiq and delayed_job --- lib/sunspot/queue/configuration.rb | 6 +++++- lib/sunspot/queue/delayed_job/backend.rb | 2 +- lib/sunspot/queue/sidekiq/backend.rb | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/sunspot/queue/configuration.rb b/lib/sunspot/queue/configuration.rb index a091685..d9e3ea8 100644 --- a/lib/sunspot/queue/configuration.rb +++ b/lib/sunspot/queue/configuration.rb @@ -1,5 +1,9 @@ module Sunspot::Queue class Configuration - attr_accessor :index_job, :removal_job + attr_accessor :index_job, :removal_job, :delay_for + + def initialize + @delay_for = 5.seconds # default `delay_for` is 5 seconds + end end end diff --git a/lib/sunspot/queue/delayed_job/backend.rb b/lib/sunspot/queue/delayed_job/backend.rb index 245649b..f03efc9 100644 --- a/lib/sunspot/queue/delayed_job/backend.rb +++ b/lib/sunspot/queue/delayed_job/backend.rb @@ -11,7 +11,7 @@ def initialize(configuration = Sunspot::Queue.configuration) end def enqueue(job) - Delayed::Job.enqueue(job) + Delayed::Job.enqueue(job, run_at: @configuration.delay_for.from_now) end def index(klass, id) diff --git a/lib/sunspot/queue/sidekiq/backend.rb b/lib/sunspot/queue/sidekiq/backend.rb index e84eb2d..f1b5cbc 100644 --- a/lib/sunspot/queue/sidekiq/backend.rb +++ b/lib/sunspot/queue/sidekiq/backend.rb @@ -11,7 +11,7 @@ def initialize(configuration = Sunspot::Queue.configuration) # Job needs to include Sidekiq::Worker def enqueue(job, klass, id) - job.perform_async(klass.to_s, id) + job.perform_in(@configuration.delay_for, klass.to_s, id) end def index(klass, id) From a117a52d71e119e02ef5a54597c64b267ff8dc38 Mon Sep 17 00:00:00 2001 From: aligo Kang Date: Tue, 21 Oct 2014 11:58:23 +0800 Subject: [PATCH 3/3] remove ruby 1.9 from travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 49f3aa4..8a4ab05 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,6 @@ language: ruby before_install: - gem install nokogiri -- --with-cflags='--std=gnu99' rvm: - - 1.9.3 - 2.0.0 + - 2.1 - ruby-head