Q:

wrong number of arguments (0 for 1) (ArgumentError) when git push heroku master

Background: Try to push spree to heroku. It work ok in localhost:3000 but no luck in heroku.
After push heroku master, it's was no error. But when open heroku it's display Application Error.
Can anyone help get rid the  "wrong number of arguments"
When heroku open
Application Error

An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

In the heroku logs, there is timeout as follow
Starting process with command `bundle exec unicorn -p 56138 -c ./config/unicorn.rb`
2016-08-18T05:52:21.426098+00:00 app[web.1]: /app/vendor/bundle/ruby/2.2.0/gems/unicorn- 5.1.0/lib/unicorn/configurator.rb:196:in `timeout': wrong number of arguments (0 for 1) (ArgumentError)

A:

Error happened from follow someone blog code here
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout
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 send QUIT'
end
defined?(ActiveRecord::Base) and
  ActiveRecord::Base.establish_connection
end

Which has error from second line 
timeout

removed that timeout then it worked.

