Non riesco a far funzionare la mia app sinatra/ruby su heroku come desiderato. Ho smanettato con alcune impostazioni cercando di risolvere questo problema ma finora nessun risultato.ActiveRecord :: ConnectionNotEstablished - Nessun pool di connessioni per X
ActiveRecord::ConnectionNotEstablished - No connection pool for User:
2015-06-25T14:26:11.736854+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:566:in `retrieve_connection'
2015-06-25T14:26:11.736856+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
2015-06-25T14:26:11.736858+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:87:in `connection'
L'utente è una delle mie tabelle ActiveRecords e l'app non funziona perché provo a interrogarlo.
Io uso sinatra con puma di backup. Qui è la mia Procfile:
web: ruby app/my-server.rb -s puma
ero anche controllando quante connessioni aperte non ci sta usando:
select count(*) from pg_stat_activity where pid <> pg_backend_pid() and usename = current_user;
ma il suo dice 0 ogni volta.
Sto ospitando l'app su piano gratuito e piano di sviluppo di herokupostgres.
Ho anche notato che il problema si verifica quando ci sono 2 chiamate rapide all'api a breve intervallo di tempo. Come se ci fossero solo 1, non 5 connessioni disponibili, perché la prima chiamata ha successo e la seconda fallisce. Nel mio database.yml piscina messa a punto da I a 5.
Sono on Rails 4.2.1 e Postgres 9.4
Ecco la mia database.yml aswell:
default: &default
adapter: postgresql
encoding: utf8
pool: 5
timeout: 5000
production:
<<: *default
host: my_db_address
port: 5432
database: my_db_name
username: my_db_user_name
password: my_db_password
< test and development ommited >
mi manca un po 'di configurazione o il piano di heroku libero si soffoca su di esso?
Potrebbe pubblicare il tuo file di database.yml? – Tommyixi
Hai taggato questo con ruby-on-rails ma non vedo alcuna menzione di Rails nella domanda, la stai usando? Se no, allora perché pensi che database.yml sia stato letto? "Per Rails 4.1+ puoi impostare questi valori direttamente nel tuo config/database.yml" https://devcenter.heroku.com/articles/concurrency-and-database-connections#threaded-servers Dai un'occhiata all'articolo collegato a Puma e prova a configurare il pool in [on_worker_boot] (https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot) – iain
Sono attivo Rails 4.2.1 e Postgres 9.4 –