2017-04-13 1 views
0

J'essaie d'initialiser Sidekiq un travailleur Heroku en utilisant:travailleur non initialisant Heroku + Sidekiq + Postgres + Rediscloud

if Rails.env.production? 

    Sidekiq.configure_client do |config| 
    config.redis = { url: ENV['REDISCLOUD_URL'], size: 2 } 
    end 

    Sidekiq.configure_server do |config| 
    config.redis = { url: ENV['REDISCLOUD_URL'], size: 10 } 

    Rails.application.config.after_initialize do 
     Rails.logger.info("DB Connection Pool size for Sidekiq Server before disconnect is: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}") 
     ActiveRecord::Base.connection_pool.disconnect! 

     ActiveSupport.on_load(:active_record) do 
     config = Rails.application.config.database_configuration[Rails.env] 
     config['reaping_frequency'] = ENV['DATABASE_REAP_FREQ'] || 10 # seconds 
     # config['pool'] = ENV['WORKER_DB_POOL_SIZE'] || Sidekiq.options[:concurrency] 
     config['pool'] = 8 
     ActiveRecord::Base.establish_connection(config) 

     Rails.logger.info("DB Connection Pool size for Sidekiq Server is now: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}") 
     end 
    end 
    end 

end 

mais je reçois ce qui suit dans mon journal:

2017-04-12T22:33:20.435939+00:00 heroku[worker.1]: State changed from crashed to starting 
2017-04-12T22:33:23.510593+00:00 heroku[worker.1]: Starting process with command `bundle exec sidekiq -e production -C config/sidekiq.yml` 
2017-04-12T22:33:24.049032+00:00 heroku[worker.1]: State changed from starting to up 
2017-04-12T22:33:26.528756+00:00 app[worker.1]: 4 TID-otpsq87bc INFO: Booting Sidekiq 4.2.10 with redis options {:url=>"redis://rediscloud:[email protected]:14870", :size=>20} 
2017-04-12T22:33:27.606408+00:00 heroku[worker.1]: State changed from up to crashed 
2017-04-12T22:33:27.590348+00:00 heroku[worker.1]: Process exited with status 1 
2017-04-12T22:33:27.506096+00:00 app[worker.1]: I, [2017-04-12T22:33:27.505980 #4] INFO -- : DB Connection Pool size for Sidekiq Server before disconnect is: 5 
2017-04-12T22:33:27.509172+00:00 app[worker.1]: could not connect to server: Connection refused 
2017-04-12T22:33:27.509174+00:00 app[worker.1]:  Is the server running on host "localhost" (127.0.0.1) and accepting 
2017-04-12T22:33:27.509175+00:00 app[worker.1]:  TCP/IP connections on port 5432? 

Est-ce Quelqu'un at-il une idée de ce qui ne va pas?

Répondre

0

Il est à la recherche de Postgres sur localhost: 5432.

0

J'ai eu le même problème en essayant d'exécuter Sidekiq sur Heroku. Je l'ai corrigé en ajoutant url: <%= ENV['DATABASE_URL'] %> sous production: dans database.yml.