Я не могу заставить мое приложение sinatra/ruby, размещенное на герой, работать по своему желанию. Я искал некоторые настройки, пытаясь решить эту проблему, но пока никаких результатов.
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'
Пользователь является одной из моих таблиц ActiveRecords и приложение терпит неудачу, потому что я пытаюсь его запросить.
Я использую синатра с резервным копированием puma. Вот мой Procfile:
web: ruby app/my-server.rb -s puma
Я также проверял, сколько открытых подключений используется:
select count(*) from pg_stat_activity where pid <> pg_backend_pid() and usename = current_user;
но каждый раз он говорит 0.
Я размещаю приложение на бесплатном плане и dev-плане героевповторов.
Я также заметил, что проблема возникает, когда есть 2 быстрых вызова api на короткий промежуток времени. Например, было доступно только 1, а не 5 соединений, потому что 1-й вызов завершен, а второй - неудачный. В моей базе данных .yml я устанавливаю пул в 5.
Я на Rails 4.2.1 и Postgres 9.4
Вот моя база данных .yml:
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 >
Я пропустил какую-то конфигурацию или освободил демарки плана герою?