2014-09-22 4 views
18

I erhalten erhalten die folgende Warnung mit Rails 4 und Sidekiq auf os x auf EntwicklungSidekiq - konnte keine Datenbankverbindung innerhalb von 5,000 Sekunden

10:13:39 worker.1 | 2014-09-22T07:13:39.857Z 86981 TID-oug0oog10 WARN: could not obtain a database connection within 5.000 seconds (waited 5.002 seconds) 
10:13:39 worker.1 | 2014-09-22T07:13:39.857Z 86981 TID-oug0oog10 WARN: /Users/me/.rvm/gems/ruby-2.1.3/gems/activerecord-4.1.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:190:in `block in wait_poll' 

ich andere Antworten lesen, die sagen, dass die Gleichzeitigkeit ich sidekiq geben reduzieren zu ermöglichen, mehr für andere Dinge, aber mit

worker: bundle exec sidekiq -c 10 

es immer noch nicht funktioniert

ich bin mit Postgres.app

Was sollten die Nummern/Nebenläufigkeit in localhost sein?

+0

Gibt es Fehler im Fehlerprotokoll des PostgreSQL-Servers? Wenn ja, was sind sie? –

+0

Ich sehe nur die Arbeiter/Sidekiq Fehler. Wo soll ich das PG-Fehlerprotokoll sehen? –

+0

Woher genau das kommt, hängt vom Betriebssystem ab und davon, wie PostgreSQL installiert/konfiguriert ist. Suchen Sie in der Dokumentation nach Ihrer Installation, wenn Sie nicht weiterkommen, suchen Sie. –

Antwort

30

Ich setze Datenbank-Pool Sidekiq Nebenläufigkeit und jetzt funktioniert es für mich.

bundle exec sidekiq -c 10 

in meinem database.yml

development: 
    adapter: postgresql 
    ... 
    host: localhost 
    pool: 10 
+0

Es scheint mein Problem zu beheben, das ich für einen Monat von Versuchen und Fehlern nicht beheben konnte. ** Madoxer ** danke aus tiefstem Herzen. – yaru

+0

Danke, es hat mein Problem behoben –

+0

Reduzierung der gleichzeitige db könnte helfen –

2

Die probem Zusammenhang mit der Tatsache, dass Datenbank-Pool 'sidekiq_concurrency' sollte + 2. Wenn Sie diese initializer in Ihre sidekiq setzen werden Sie das Problem lösen allgemein:

Sidekiq.configure_server do |config| 
    config = ActiveRecord::Base.configurations[Rails.env] || 
     Rails.application.config.database_configuration[Rails.env] 
    config['pool'] = Sidekiq.options[:concurrency] + 2 
    ActiveRecord::Base.establish_connection(config) 
    Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}") 
end 
+0

können Sie uns weitere Informationen geben? Warum ist die Nummer 2? Ich bin mit dem gleichen Problem konfrontiert und nicht sicher, warum es das Problem beheben sollte –

+0

Dies ist damit verbunden: https://github.com/mperham/sidekiq/blob/master/4.0-Upgrade.md – jacopobeschi

+0

scheint zu helfen. Vielen Dank ! – ZeDalaye

Verwandte Themen