Я пытаюсь написать приложение Sinatra с веб-окнами. Мое приложение Sinatra использует Postgres в качестве бэкэнд (отлично работает без веб-сайтов). Я добавил eventmachine
и em-websocket
, чтобы получить поддержку моего приложения ws. Все работает отлично, за исключением того, что после x
количество запросов, я получаю время ожидания ActiveRecord ConnectionPool. Похоже, EventMachine не выпускает соединения DB, но я никогда не использовал EM раньше, поэтому я не совсем уверен, что делать. Каков наилучший способ для нас использовать эти четыре технологии (AR + EM + PG + Sinatra) без всякого воспламенения? Идеально ищет какой-то род ConnectionPool, который заставит EM освободить соединение с БД в конце запроса или что-то в этом роде.ActiveRecord + EventMachine + Postgres + Sinatra
2
A
ответ
1
ActiveRecord имеет промежуточное ПО ActiveRecord::ConnectionAdapters::ConnectionManagement
, которое правильно закрывает соединения после запроса. Вы можете активировать его в config.ru
(я предполагаю, что вы запустите приложение Sinatra с файлом config.ru
.Если вы не знакомы с использованием Sinatra с config.ru
, об этом в документах есть someinformation). Поместите эту строку ниже require ...
и выше run ...
:
use ActiveRecord::ConnectionAdapters::ConnectionManagement
Смежные вопросы
- 1. Sinatra + Fibers + EventMachine
- 2. Activerecord or sinatra-activerecord для sinatra
- 3. Sinatra/ActiveRecord + Heroku ошибки генерации
- 4. ActiveRecord, Sinatra и Postgres - ссылка не привязана к моему db
- 5. Запуск Sinatra внутри существующего драгоценного камня EventMachine
- 6. Проблемы с EventMachine (и изучение Sinatra Async)
- 7. Sinatra activerecord initialize
- 8. Sinatra, MySQL и ActiveRecord
- 9. Как использовать ActiveRecord асинхронно с EventMachine?
- 10. ActiveRecord Неизвестно Ошибка атрибута (Sinatra)
- 11. ruby sinatra, postgres paging results
- 12. ActiveRecord find_each и Postgres
- 13. Ruby + Postgres: ActiveRecord :: ConnectionNotEstablished
- 14. Любой успех с Sinatra, работающий вместе с EventMachine WebSockets?
- 15. Как запустить EventMachine и обслуживать страницы в Sinatra?
- 16. ActiveRecord с удаленным MySQL в Sinatra
- 17. Sinatra, ActiveRecord, FactoryGirl и has_many_through ассоциации
- 18. ActiveRecord на базовых ассоциациях и идентификаторах Sinatra
- 19. Многомерные JOINs с ActiveRecord и Sinatra
- 20. Базовый поиск в Ruby Sinatra ActiveRecord
- 21. Postgres ActiveRecord ограничивает размер таблицы до одной строки
- 22. Группа с ActiveRecord и Postgres
- 23. ActiveRecord, Postgres и секционированные таблицы
- 24. Ошибка вставки Postgres в ActiveRecord
- 25. Rails Activerecord/Postgres формат времени
- 26. Возвращенные повторяющихся записей (ActiveRecord, Postgres)
- 27. SQL (postgres) для запроса ActiveRecord
- 28. Блокировка строк ActiveRecord и Postgres
- 29. Загрузка изображений в Postgres с помощью Sinatra
- 30. Конфигурация базы данных не указывает адаптер (Sinatra + Heroku + Activerecord)
Как именно использовать? Я просто помещаю эту строку в config.ru? –
@hatboysam, пожалуйста, прочитайте обновленный ответ. –