Une fois que j'ai touché tmp/restart.txt et que mon application a redémarré, la première requête génère une erreur, généralement quelque chose à propos de la non-détection de Haml :: Engine ou d'une autre gemme. La deuxième et les demandes suivantes fonctionnent bien. J'avais ce problème sur Dreamhost qui exécutait Rack 0.4.1 et Sinatra 0.3.3 mais après avoir déménagé sur mon propre hôte et avoir lancé un nouveau Rack (0.9.1) et Sinatra (0.9.0.4), je vois toujours le problème.Pourquoi ai-je une erreur sur la première requête après le redémarrage d'une application Sinatra avec Rack et Phusion Passenger?
Si vous ne connaissez pas la réponse exacte, mais que vous avez des conseils pour la retrouver, n'hésitez pas à me contacter.
Voici mon config.ru:
require 'rubygems'
require 'sinatra'
disable :run
set :environment, :production
set :raise_errors, true
require 'app.rb'
run Sinatra::Application
Oui, j'ai besoin de rubygems et il fonctionne manuellement ou en rack manuellement. J'ai ajouté mon config.ru à la question originale comme vous l'avez suggéré. C'est presque comme si Passenger ne redémarre pas l'application jusqu'à ce que la première demande arrive et que cette demande rencontre un problème de synchronisation car elle arrive toujours. –
Tout va bien avec votre configuration de rack. La seule chose qui reste à suggérer est d'essayer une application basique de monde bonjour et voir si la même chose se produit. On dirait que votre application montre le même problème sur plusieurs hôtes que c'est quelque chose à voir avec votre application elle-même. Peut-être aussi mettre à jour toutes vos gemmes? – rfunduk
N'a pas regardé cela depuis un moment mais maintenant je ne semble pas avoir le problème et la seule chose que je peux penser est que je suis en cours d'exécution une version plus récente de Sinatra (0.9.1.1), et puisque vous avez mentionné la mise à jour gemmes, vous obtenez la coche par défaut. –