Могу ли я утверждать, что приложения rails/sinatra инициализируются только один раз, и все запросы используют одно и то же приложение экземпляра? или новые запросы порождают новые экземпляры приложений?Sinatra/Rails: Сохранение экземпляров пользовательских классов во время жизни приложения
Можно ли использовать пользовательские классы и сохранять их в течение жизни приложения без использования сеансов, хранилищ баз данных или сторонних служб? Если да, то каковы последствия с точки зрения безопасности потоков?
Я пытаюсь понять, как реализовать веб-менеджер загрузки, и в настоящее время я оцениваю рамки на основе Ruby.
Это довольно шокирующая информация о Синатре. Я просматриваю всю информацию о том, как заставить Sinatra не открывать новое соединение db при каждом запросе. Неужели Синатра ошибается? – mjnissim
Почему это шокирует? Rails также создает новый экземпляр контроллера для каждого запроса. Просто не храните DB-соединение в качестве переменной экземпляра. Вы можете сделать «set: db, DB.connect (...)», а затем получить доступ к нему как «settings.db» с маршрута, например. –