rails 4 upgrade

rack lock is trouble, nuke it out of orbit
more aggressive suicide for forked sidekiq
This commit is contained in:
Sam 2013-10-10 14:16:09 +11:00
parent c4bab8915c
commit 28a0cb494a
3 changed files with 97 additions and 90 deletions

View File

@ -2,16 +2,6 @@ GIT
remote: git://github.com/SamSaffron/redis-store.git remote: git://github.com/SamSaffron/redis-store.git
revision: 1eafaa3d8bfbcb61ad89d1a2831adbba4ea8e1e1 revision: 1eafaa3d8bfbcb61ad89d1a2831adbba4ea8e1e1
specs: specs:
redis-actionpack (3.2.3)
actionpack (>= 3.2.3)
redis-rack (~> 1.4.0)
redis-store (~> 1.1.0)
redis-activesupport (3.2.3)
activesupport (>= 3.2.3)
redis-store (~> 1.1.0)
redis-rack (1.4.2)
rack (> 1.4.1)
redis-store (~> 1.1.0)
redis-rails (3.2.3) redis-rails (3.2.3)
redis-actionpack (>= 3.2.3) redis-actionpack (>= 3.2.3)
redis-activesupport (>= 3.2.3) redis-activesupport (>= 3.2.3)
@ -27,13 +17,13 @@ GIT
GIT GIT
remote: git://github.com/paulelliott/fabrication.git remote: git://github.com/paulelliott/fabrication.git
revision: 385f2ddf0a97a007593c3df9a5586401500a74a4 revision: e5738689767e97876b8cb9818ebda2b6a4fcdd58
specs: specs:
fabrication (2.7.2) fabrication (2.8.1)
GIT GIT
remote: git://github.com/rails/rails.git remote: git://github.com/rails/rails.git
revision: 08376d3796482fefcd03ad1d7e0bcce0df4c9913 revision: cfd9186e34a25a29f7cd2018e91548f5d1be22af
branch: 4-0-stable branch: 4-0-stable
specs: specs:
actionmailer (4.0.0) actionmailer (4.0.0)
@ -75,9 +65,9 @@ GIT
GIT GIT
remote: git://github.com/sporkrb/spork-rails.git remote: git://github.com/sporkrb/spork-rails.git
revision: 3224f84d8c31fcb0894e9a43f6c3ac67e3aa0d71 revision: 0dd45e59d3237b4c8f9efc215b46d9c07072a95e
specs: specs:
spork-rails (3.2.1) spork-rails (4.0.0)
rails (>= 3.0.0, < 5) rails (>= 3.0.0, < 5)
spork (>= 1.0rc0) spork (>= 1.0rc0)
@ -91,7 +81,7 @@ GIT
GIT GIT
remote: https://github.com/MiniProfiler/rack-mini-profiler.git remote: https://github.com/MiniProfiler/rack-mini-profiler.git
revision: e08b751091a41f0066a1b28bd4e2b9b3480a1c1b revision: c61f78062b924e9ac150b76bd0d2a50d0300afcd
specs: specs:
rack-mini-profiler (0.1.31) rack-mini-profiler (0.1.31)
rack (>= 1.1.3) rack (>= 1.1.3)
@ -113,7 +103,7 @@ GIT
GIT GIT
remote: https://github.com/SamSaffron/message_bus remote: https://github.com/SamSaffron/message_bus
revision: 09392967940daf77943d1489ed3f1f71d6f8450a revision: 00f12ec544d7d72965f58d6af167cafa46aac582
specs: specs:
message_bus (0.0.2) message_bus (0.0.2)
eventmachine eventmachine
@ -192,14 +182,14 @@ GEM
ember-source ember-source
execjs execjs
handlebars-source handlebars-source
better_errors (0.9.0) better_errors (1.0.1)
coderay (>= 1.0.0) coderay (>= 1.0.0)
erubis (>= 2.6.6) erubis (>= 2.6.6)
binding_of_caller (0.7.2) binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
builder (3.1.4) builder (3.1.4)
celluloid (0.14.1) celluloid (0.15.2)
timers (>= 1.0.0) timers (~> 1.1.0)
certified (0.1.1) certified (0.1.1)
coderay (1.0.9) coderay (1.0.9)
connection_pool (1.1.0) connection_pool (1.1.0)
@ -207,7 +197,7 @@ GEM
debug_inspector (0.0.2) debug_inspector (0.0.2)
diff-lcs (1.2.4) diff-lcs (1.2.4)
diffy (3.0.1) diffy (3.0.1)
ember-data-source (0.13) ember-data-source (0.14)
ember-source ember-source
ember-rails (0.13.0) ember-rails (0.13.0)
active_model_serializers active_model_serializers
@ -222,11 +212,11 @@ GEM
erubis (2.7.0) erubis (2.7.0)
eventmachine (1.0.3) eventmachine (1.0.3)
excon (0.25.3) excon (0.25.3)
execjs (1.4.0) execjs (2.0.2)
multi_json (~> 1.0) exifr (1.1.3)
fakeweb (1.3.0) fakeweb (1.3.0)
faraday (0.8.7) faraday (0.8.8)
multipart-post (~> 1.1) multipart-post (~> 1.2.0)
fast_blank (0.0.1) fast_blank (0.0.1)
rake rake
rake-compiler rake-compiler
@ -234,9 +224,9 @@ GEM
rake rake
rake-compiler rake-compiler
fast_xs (0.8.0) fast_xs (0.8.0)
fastimage (1.5.0) fastimage (1.5.2)
ffi (1.9.0) ffi (1.9.0)
fog (1.14.0) fog (1.15.0)
builder builder
excon (~> 0.25.0) excon (~> 0.25.0)
formatador (~> 0.2.0) formatador (~> 0.2.0)
@ -247,8 +237,8 @@ GEM
nokogiri (~> 1.5) nokogiri (~> 1.5)
ruby-hmac ruby-hmac
formatador (0.2.4) formatador (0.2.4)
fspath (2.0.4) fspath (2.0.5)
given_core (3.0.0) given_core (3.1.1)
sorcerer (>= 0.3.7) sorcerer (>= 0.3.7)
handlebars-source (1.0.12) handlebars-source (1.0.12)
hashie (2.0.5) hashie (2.0.5)
@ -258,44 +248,45 @@ GEM
httpauth (0.2.0) httpauth (0.2.0)
i18n (0.6.5) i18n (0.6.5)
ice_cube (0.11.0) ice_cube (0.11.0)
image_optim (0.8.1) image_optim (0.9.1)
fspath (~> 2.0.3) exifr (~> 1.1.3)
fspath (~> 2.0.5)
image_size (~> 1.1.2) image_size (~> 1.1.2)
in_threads (~> 1.1.1) in_threads (~> 1.2.0)
progress (~> 2.4.0) progress (~> 3.0.0)
image_size (1.1.2) image_size (1.1.3)
image_sorcery (1.1.0) image_sorcery (1.1.0)
in_threads (1.1.1) in_threads (1.2.0)
json (1.8.0) json (1.8.0)
jwt (0.1.8) jwt (0.1.8)
multi_json (>= 1.5) multi_json (>= 1.5)
kgio (2.8.0) kgio (2.8.1)
librarian (0.1.0) librarian (0.1.1)
highline highline
thor (~> 0.15) thor (~> 0.15)
libv8 (3.16.14.3) libv8 (3.16.14.3)
listen (1.2.2) listen (2.0.3)
celluloid (>= 0.15.2)
rb-fsevent (>= 0.9.3) rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9) rb-inotify (>= 0.9)
rb-kqueue (>= 0.2) lru_redux (0.8.1)
lru_redux (0.0.6)
mail (2.5.4) mail (2.5.4)
mime-types (~> 1.16) mime-types (~> 1.16)
treetop (~> 1.4.8) treetop (~> 1.4.8)
metaclass (0.0.1) metaclass (0.0.1)
method_source (0.8.1) method_source (0.8.2)
mime-types (1.25) mime-types (1.25)
mini_portile (0.5.1) mini_portile (0.5.1)
minitest (4.7.5) minitest (4.7.5)
mocha (0.14.0) mocha (0.14.0)
metaclass (~> 0.0.1) metaclass (~> 0.0.1)
mock_redis (0.8.1) mock_redis (0.9.0)
multi_json (1.8.0) multi_json (1.8.1)
multipart-post (1.2.0) multipart-post (1.2.0)
mustache (0.99.4) mustache (0.99.4)
net-scp (1.1.2) net-scp (1.1.2)
net-ssh (>= 2.6.5) net-ssh (>= 2.6.5)
net-ssh (2.6.8) net-ssh (2.7.0)
nokogiri (1.6.0) nokogiri (1.6.0)
mini_portile (~> 0.5.0) mini_portile (~> 0.5.0)
oauth (0.4.7) oauth (0.4.7)
@ -305,7 +296,7 @@ GEM
jwt (~> 0.1.4) jwt (~> 0.1.4)
multi_json (~> 1.0) multi_json (~> 1.0)
rack (~> 1.2) rack (~> 1.2)
oj (2.1.4) oj (2.1.6)
omniauth (1.1.4) omniauth (1.1.4)
hashie (>= 1.2, < 3) hashie (>= 1.2, < 3)
rack rack
@ -327,26 +318,26 @@ GEM
omniauth-openid (1.0.1) omniauth-openid (1.0.1)
omniauth (~> 1.0) omniauth (~> 1.0)
rack-openid (~> 1.3.1) rack-openid (~> 1.3.1)
omniauth-twitter (1.0.0) omniauth-twitter (1.0.1)
multi_json (~> 1.3) multi_json (~> 1.3)
omniauth-oauth (~> 1.0) omniauth-oauth (~> 1.0)
openid-redis-store (0.0.2) openid-redis-store (0.0.2)
redis redis
ruby-openid ruby-openid
pg (0.15.1) pg (0.17.0)
polyglot (0.3.3) polyglot (0.3.3)
progress (2.4.0) progress (3.0.0)
pry (0.9.12.2) pry (0.9.12.2)
coderay (~> 1.0.5) coderay (~> 1.0.5)
method_source (~> 0.8) method_source (~> 0.8)
slop (~> 3.4) slop (~> 3.4)
pry-nav (0.2.3) pry-nav (0.2.3)
pry (~> 0.9.10) pry (~> 0.9.10)
pry-rails (0.3.1) pry-rails (0.3.2)
pry (>= 0.9.10) pry (>= 0.9.10)
puma (2.5.1) puma (2.6.0)
rack (>= 1.1, < 2.0) rack (>= 1.1, < 2.0)
qunit-rails (0.0.3) qunit-rails (0.0.4)
railties (>= 3.2.3) railties (>= 3.2.3)
rack (1.5.2) rack (1.5.2)
rack-cache (1.2) rack-cache (1.2)
@ -362,21 +353,29 @@ GEM
rack (>= 1.0) rack (>= 1.0)
rails-observers (0.1.2) rails-observers (0.1.2)
activemodel (~> 4.0) activemodel (~> 4.0)
raindrops (0.11.0) raindrops (0.12.0)
rake (10.1.0) rake (10.1.0)
rake-compiler (0.8.3) rake-compiler (0.9.1)
rake rake
rb-fsevent (0.9.3) rb-fsevent (0.9.3)
rb-inotify (0.9.0) rb-inotify (0.9.2)
ffi (>= 0.5.0)
rb-kqueue (0.2.0)
ffi (>= 0.5.0) ffi (>= 0.5.0)
redcarpet (3.0.0) redcarpet (3.0.0)
redis (3.0.4) redis (3.0.5)
redis-actionpack (4.0.0)
actionpack (~> 4)
redis-rack (~> 1.5.0)
redis-store (~> 1.1.0)
redis-activesupport (4.0.0)
activesupport (~> 4)
redis-store (~> 1.1.0)
redis-namespace (1.3.1) redis-namespace (1.3.1)
redis (~> 3.0.0) redis (~> 3.0.0)
redis-store (1.1.2) redis-rack (1.5.0)
redis (>= 2.2.0) rack (~> 1.5)
redis-store (~> 1.1.0)
redis-store (1.1.4)
redis (>= 2.2)
ref (1.0.5) ref (1.0.5)
rest-client (1.6.7) rest-client (1.6.7)
mime-types (>= 1.16) mime-types (>= 1.16)
@ -385,13 +384,13 @@ GEM
rspec-core (~> 2.14.0) rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0) rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0) rspec-mocks (~> 2.14.0)
rspec-core (2.14.3) rspec-core (2.14.5)
rspec-expectations (2.14.0) rspec-expectations (2.14.3)
diff-lcs (>= 1.1.3, < 2.0) diff-lcs (>= 1.1.3, < 2.0)
rspec-given (3.0.0) rspec-given (3.1.1)
given_core (= 3.0.0) given_core (= 3.1.1)
rspec (>= 2.12) rspec (>= 2.12)
rspec-mocks (2.14.1) rspec-mocks (2.14.3)
rspec-rails (2.14.0) rspec-rails (2.14.0)
actionpack (>= 3.0) actionpack (>= 3.0)
activesupport (>= 3.0) activesupport (>= 3.0)
@ -400,10 +399,10 @@ GEM
rspec-expectations (~> 2.14.0) rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0) rspec-mocks (~> 2.14.0)
ruby-hmac (0.4.0) ruby-hmac (0.4.0)
ruby-openid (2.2.3) ruby-openid (2.3.0)
sanitize (2.0.6) sanitize (2.0.6)
nokogiri (>= 1.4.4) nokogiri (>= 1.4.4)
sass (3.2.9) sass (3.2.12)
sass-rails (4.0.0) sass-rails (4.0.0)
railties (>= 4.0.0.beta, < 5.0) railties (>= 4.0.0.beta, < 5.0)
sass (>= 3.1.10) sass (>= 3.1.10)
@ -411,20 +410,21 @@ GEM
shoulda (3.5.0) shoulda (3.5.0)
shoulda-context (~> 1.0, >= 1.0.1) shoulda-context (~> 1.0, >= 1.0.1)
shoulda-matchers (>= 1.4.1, < 3.0) shoulda-matchers (>= 1.4.1, < 3.0)
shoulda-context (1.1.4) shoulda-context (1.1.5)
shoulda-matchers (2.2.0) shoulda-matchers (2.4.0)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
sidekiq (2.13.0) sidekiq (2.15.1)
celluloid (>= 0.14.1) celluloid (>= 0.15.1)
connection_pool (>= 1.0.0) connection_pool (>= 1.0.0)
json json
redis (>= 3.0) redis (>= 3.0.4)
redis-namespace redis-namespace (>= 1.3.1)
sidekiq-failures (0.2.1) sidekiq-failures (0.2.2)
sidekiq (>= 2.2.1) sidekiq (>= 2.9.0)
sidetiq (0.3.6) sidetiq (0.4.2)
celluloid (>= 0.14.1)
ice_cube (~> 0.11.0) ice_cube (~> 0.11.0)
sidekiq (~> 2.13.0) sidekiq (~> 2.15.0)
simplecov (0.7.1) simplecov (0.7.1)
multi_json (~> 1.0) multi_json (~> 1.0)
simplecov-html (~> 0.7.1) simplecov-html (~> 0.7.1)
@ -433,12 +433,12 @@ GEM
rack (~> 1.4) rack (~> 1.4)
rack-protection (~> 1.4) rack-protection (~> 1.4)
tilt (~> 1.3, >= 1.3.4) tilt (~> 1.3, >= 1.3.4)
slim (2.0.0) slim (2.0.1)
temple (~> 0.6.5) temple (~> 0.6.6)
tilt (~> 1.3, >= 1.3.3) tilt (>= 1.3.3, < 2.1)
slop (3.4.5) slop (3.4.6)
sorcerer (1.0.0) sorcerer (1.0.2)
spork (1.0.0rc3) spork (1.0.0rc4)
sprockets (2.10.0) sprockets (2.10.0)
hike (~> 1.2) hike (~> 1.2)
multi_json (~> 1.0) multi_json (~> 1.0)
@ -448,25 +448,25 @@ GEM
actionpack (>= 3.0) actionpack (>= 3.0)
activesupport (>= 3.0) activesupport (>= 3.0)
sprockets (~> 2.8) sprockets (~> 2.8)
temple (0.6.5) temple (0.6.7)
therubyracer (0.12.0) therubyracer (0.12.0)
libv8 (~> 3.16.14.0) libv8 (~> 3.16.14.0)
ref ref
thin (1.5.1) thin (1.6.0)
daemons (>= 1.0.9) daemons (>= 1.0.9)
eventmachine (>= 0.12.6) eventmachine (>= 1.0.0)
rack (>= 1.0.0) rack (>= 1.5.0)
thor (0.18.1) thor (0.18.1)
thread_safe (0.1.3) thread_safe (0.1.3)
atomic atomic
tilt (1.4.1) tilt (1.4.1)
timecop (0.6.2.2) timecop (0.6.3)
timers (1.1.0) timers (1.1.0)
treetop (1.4.15) treetop (1.4.15)
polyglot polyglot
polyglot (>= 0.3.1) polyglot (>= 0.3.1)
tzinfo (0.3.37) tzinfo (0.3.38)
uglifier (2.1.2) uglifier (2.2.1)
execjs (>= 0.3.0) execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2) multi_json (~> 1.0, >= 1.0.2)
unicorn (4.6.3) unicorn (4.6.3)

View File

@ -97,6 +97,10 @@ module Discourse
# rake assets:precompile also fails # rake assets:precompile also fails
config.threadsafe! unless rails4? || $PROGRAM_NAME =~ /spork|rake/ config.threadsafe! unless rails4? || $PROGRAM_NAME =~ /spork|rake/
# rack lock is nothing but trouble, get rid of it
# for some reason still seeing it in Rails 4
config.middleware.delete Rack::Lock
# route all exceptions via our router # route all exceptions via our router
config.exceptions_app = self.routes config.exceptions_app = self.routes
@ -120,6 +124,7 @@ module Discourse
# attr_accessible. # attr_accessible.
config.active_record.whitelist_attributes = false config.active_record.whitelist_attributes = false
require 'plugin' require 'plugin'
require 'auth' require 'auth'
unless Rails.env.test? unless Rails.env.test?

View File

@ -99,7 +99,9 @@ class Demon::Base
def monitor_parent def monitor_parent
Thread.new do Thread.new do
while true while true
exit unless alive?(@parent_pid) unless alive?(@parent_pid)
Process.kill "QUIT", Process.pid
end
sleep 1 sleep 1
end end
end end