ArgumentError when starting Unicorn on Heroku

2013-05-25 Thread Jack Royal-Gordon
Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn 
(4.6.2).  It ran fine in development (Mac OSX), but when deploying to 
production on Heroku, it fails with the following messages:

Starting process with command `bundle exec unicorn start -p 6069 -c 
./config/unicorn.rb`
  
/app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in
 `parse_rackup_file': rackup file (start) not readable (ArgumentError)
  from 
/app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in
 `reload'
  from 
/app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in
 `initialize'
  from 
/app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
 `new'
  from 
/app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
 `initialize'
  from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `new'
  from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in 
`top (required)'
  from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load'
  from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main'
Process exited with status 1
State changed from starting to crashed

config.ru:
require ::File.expand_path('../config/environment',  __FILE__)
run NoveltyStats::Application


Procfile:
web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb
sidekiq: bundle exec sidekiq -c 10

unicorn.rb:
worker_processes Integer(ENV[WEB_CONCURRENCY] || 3)
timeout 15
preload_app true

before_fork do |server, worker|

  Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
  end

  defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|

  Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for 
master to sent QUIT'
  end

  defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end

I have no idea where to even begin to troubleshoot this problem.  Any thoughts?

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: ArgumentError when starting Unicorn on Heroku

2013-05-25 Thread Daniel Farina
On Sat, May 25, 2013 at 2:33 AM, Jack Royal-Gordon jac...@pobox.com wrote:
 Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn 
 (4.6.2).  It ran fine in development (Mac OSX), but when deploying to 
 production on Heroku, it fails with the following messages:

 Starting process with command `bundle exec unicorn start -p 6069 -c 
 ./config/unicorn.rb`
   
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in
  `parse_rackup_file': rackup file (start) not readable (ArgumentError)
   from 
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in
  `reload'
   from 
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in
  `initialize'
   from 
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
  `new'
   from 
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
  `initialize'
   from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in 
 `new'
   from /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in 
 `top (required)'
   from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load'
   from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main'
 Process exited with status 1
 State changed from starting to crashed

 config.ru:
 require ::File.expand_path('../config/environment',  __FILE__)
 run NoveltyStats::Application


 Procfile:
 web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb
 sidekiq: bundle exec sidekiq -c 10

 unicorn.rb:
 worker_processes Integer(ENV[WEB_CONCURRENCY] || 3)
 timeout 15
 preload_app true

 before_fork do |server, worker|

   Signal.trap 'TERM' do
 puts 'Unicorn master intercepting TERM and sending myself QUIT 
 instead'
 Process.kill 'QUIT', Process.pid
   end

   defined?(ActiveRecord::Base) and
 ActiveRecord::Base.connection.disconnect!
 end

 after_fork do |server, worker|

   Signal.trap 'TERM' do
 puts 'Unicorn worker intercepting TERM and doing nothing. Wait for 
 master to sent QUIT'
   end

   defined?(ActiveRecord::Base) and
 ActiveRecord::Base.establish_connection
 end

 I have no idea where to even begin to troubleshoot this problem.  Any 
 thoughts?

Well that sounds pretty bizarre.  The way I'd go about solving this
would be to us 'heroku run bash' and start poking around.  Although
the error message you see above can have multiple causes (says the
web, I just ran some searching), the gist of your problem sounds like
it could have to do with paths that may be different between Heroku
and your personal computer (although there can be numerous other
causes).

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: ArgumentError when starting Unicorn on Heroku

2013-05-25 Thread Daniel Doubrovkine
Does that command run locally as is? It's likely that you have a global
unicorn in /etc/init.d or something like that which supports those start
commands (like this one: https://gist.github.com/jaygooby/504875). Unicorn
by itself takes port and config via -p and -c. See the example in Procfile
here: https://devcenter.heroku.com/articles/rails-unicorn

Hope this helps.

On Sat, May 25, 2013 at 7:18 PM, Daniel Farina dan...@heroku.com wrote:

 On Sat, May 25, 2013 at 2:33 AM, Jack Royal-Gordon jac...@pobox.com
 wrote:
  Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn
 (4.6.2).  It ran fine in development (Mac OSX), but when deploying to
 production on Heroku, it fails with the following messages:
 
  Starting process with command `bundle exec unicorn start -p 6069 -c
 ./config/unicorn.rb`
 
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in
 `parse_rackup_file': rackup file (start) not readable (ArgumentError)
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in
 `reload'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in
 `initialize'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
 `new'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
 `initialize'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `new'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `top
 (required)'
from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load'
from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main'
  Process exited with status 1
  State changed from starting to crashed
 
  config.ru:
  require ::File.expand_path('../config/environment',  __FILE__)
  run NoveltyStats::Application
 
 
  Procfile:
  web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb
  sidekiq: bundle exec sidekiq -c 10
 
  unicorn.rb:
  worker_processes Integer(ENV[WEB_CONCURRENCY] || 3)
  timeout 15
  preload_app true
 
  before_fork do |server, worker|
 
Signal.trap 'TERM' do
  puts 'Unicorn master intercepting TERM and sending myself QUIT
 instead'
  Process.kill 'QUIT', Process.pid
end
 
defined?(ActiveRecord::Base) and
  ActiveRecord::Base.connection.disconnect!
  end
 
  after_fork do |server, worker|
 
Signal.trap 'TERM' do
  puts 'Unicorn worker intercepting TERM and doing nothing. Wait
 for master to sent QUIT'
end
 
defined?(ActiveRecord::Base) and
  ActiveRecord::Base.establish_connection
  end
 
  I have no idea where to even begin to troubleshoot this problem.  Any
 thoughts?

 Well that sounds pretty bizarre.  The way I'd go about solving this
 would be to us 'heroku run bash' and start poking around.  Although
 the error message you see above can have multiple causes (says the
 web, I just ran some searching), the gist of your problem sounds like
 it could have to do with paths that may be different between Heroku
 and your personal computer (although there can be numerous other
 causes).

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.





-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg -
artsy.net

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.