Вы должны всегда предполагать, что все приложение может быть перезагружено под вашими промежуточными запросами. Что, если у вас запущено 16 копий вашего приложения - запрос от пользователя 'jane' для '/' может появиться в копии # 2, тогда, когда она заходит в '/ signup', запрос достигнет # 12 (возможно, загружается для этого событие) приложение. Поэтому не имеет значения, что делает Sinatra (хотя похоже, что они делают что-то похожее), поскольку ваше приложение может появиться где угодно, загружаться сегодня, вчера или мс назад.
Если вы планируете расти - или зависеть от Heroku и т. Д. - ваше приложение должно работать нормально, используя «дробовик», который перезапускает все для каждого запроса. Я полагаю, если ваше приложение делает что-то радикально отличное от обслуживания веб-страниц и почти никогда не падает или не перезагружается, вы можете избежать «НЕТ»
Таким образом, мой ответ «ДА» (но не всегда, и даже не всегда обычно).
Тем не менее, удобно знать, как все работает, так что, возможно, вы можете настроить только некоторую сложную схему кэширования вычисленных активов один раз для каждой загрузки приложения, что является опцией производительности. Например, если при каждом обращении к вашему приложению с URL-адресом / calc_pi? Decimals = 2000 всегда получается одно и то же 2000-значное число, вы можете кэшировать его в каждом экземпляре.