FEATURE: upgrade to Sidekiq 4

This commit is contained in:
Sam Saffron 2016-01-01 15:40:12 +11:00
parent 8af5c7385e
commit 426299d261
4 changed files with 17 additions and 59 deletions

View File

@ -37,9 +37,9 @@ end
gem 'mail'
gem 'mime-types', require: 'mime/types/columnar'
#gem 'redis-rails'
gem 'hiredis'
gem 'redis', require: ["redis", "redis/connection/hiredis"]
gem 'redis-namespace'
gem 'active_model_serializers', '~> 0.8.3'

View File

@ -63,49 +63,9 @@ GEM
debug_inspector (>= 0.0.1)
builder (3.2.2)
byebug (6.0.2)
celluloid (0.17.1.2)
bundler
celluloid-essentials
celluloid-extras
celluloid-fsm
celluloid-pool
celluloid-supervision
dotenv
nenv
rspec-logsplit (>= 0.1.2)
timers (>= 4.1.1)
celluloid-essentials (0.20.2.1)
bundler
dotenv
nenv
rspec-logsplit (>= 0.1.2)
timers (>= 4.1.1)
celluloid-extras (0.20.1)
bundler
dotenv
nenv
rspec-logsplit (>= 0.1.2)
timers (>= 4.1.1)
celluloid-fsm (0.20.1)
bundler
dotenv
nenv
rspec-logsplit (>= 0.1.2)
timers (>= 4.1.1)
celluloid-pool (0.20.1)
bundler
dotenv
nenv
rspec-logsplit (>= 0.1.2)
timers (>= 4.1.1)
celluloid-supervision (0.20.1.1)
bundler
dotenv
nenv
rspec-logsplit (>= 0.1.2)
timers (>= 4.1.1)
certified (1.0.0)
coderay (1.1.0)
concurrent-ruby (1.0.0)
connection_pool (2.2.0)
crass (1.0.2)
daemons (1.2.3)
@ -117,7 +77,6 @@ GEM
docile (1.1.5)
domain_name (0.5.25)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.0.2)
ember-data-source (1.0.0.beta.16.1)
ember-source (~> 1.8)
ember-handlebars-template (0.1.5)
@ -165,7 +124,6 @@ GEM
highline (1.7.7)
hike (1.2.3)
hiredis (0.6.0)
hitimes (1.2.3)
htmlentities (4.3.4)
http-cookie (1.0.2)
domain_name (~> 0.5)
@ -215,7 +173,6 @@ GEM
multi_xml (0.5.5)
multipart-post (2.0.0)
mustache (1.0.2)
nenv (0.2.0)
netrc (0.11.0)
nokogiri (1.6.7.1)
mini_portile2 (~> 2.0.0.rc2)
@ -345,7 +302,6 @@ GEM
rspec-html-matchers (0.7.0)
nokogiri (~> 1)
rspec (~> 3)
rspec-logsplit (0.1.3)
rspec-mocks (3.2.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.2.0)
@ -382,14 +338,13 @@ GEM
shoulda-context (1.2.1)
shoulda-matchers (2.7.0)
activesupport (>= 3.0.0)
sidekiq (3.5.0)
celluloid (~> 0.17.0)
sidekiq (4.0.1)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
json (~> 1.0)
redis (~> 3.2, >= 3.2.1)
redis-namespace (~> 1.5, >= 1.5.2)
sidekiq-statistic (1.1.0)
sidekiq (~> 3.3, >= 3.3.4)
sidekiq-statistic (1.2.0)
sidekiq (>= 3.3.4, < 5)
simple-rss (1.3.1)
simplecov (0.10.0)
docile (~> 1.1.0)
@ -427,8 +382,6 @@ GEM
thread_safe (0.3.5)
tilt (1.4.1)
timecop (0.8.0)
timers (4.1.1)
hitimes
trollop (2.1.1)
tzinfo (1.2.2)
thread_safe (~> 0.1)
@ -513,6 +466,7 @@ DEPENDENCIES
rb-inotify (~> 0.9)
rbtrace
redis
redis-namespace
rest-client
rinku
rmmseg-cpp

View File

@ -210,7 +210,7 @@ module Jobs
# If we are able to queue a job, do it
if SiteSetting.queue_jobs?
if opts[:delay_for].present?
klass.delay_for(opts.delete(:delay_for)).delayed_perform(opts)
klass.perform_in(opts.delete(:delay_for), opts)
else
Sidekiq::Client.enqueue(klass, opts)
end

View File

@ -6,12 +6,12 @@ require 'sidekiq/testing'
describe Topic do
def scheduled_jobs_for(job_name, params={})
Sidekiq::Extensions::DelayedClass.jobs.select do |job|
job_args = YAML.load(job['args'][0])
if job_args[0].to_s == "Jobs::#{job_name.to_s.camelcase}" and job_args[2] and job_args[2][0]
Sidekiq::Queues["default"].select do |job|
job_args = job['args'][0]
if job['class'] == "Jobs::#{job_name.to_s.camelcase}"
matched = true
params.each do |key, value|
unless job_args[2][0][key] == value
unless job_args[key.to_s] == value
matched = false
break
end
@ -22,7 +22,10 @@ describe Topic do
end
before { SiteSetting.stubs(:queue_jobs).returns(true) }
before {
Sidekiq::Queues.clear_all
SiteSetting.queue_jobs = true
}
context 'creating a topic without auto-close' do
Given(:topic) { Fabricate(:topic, category: category) }
@ -41,6 +44,7 @@ describe Topic do
context 'jobs may be queued' do
before do
Sidekiq::Queues.clear_all
Timecop.freeze(Time.zone.now)
end