12
votes

Puis-je faire un programme SINATRA sans redémarrer le serveur?

Lorsque je modifie le code et je dois redémarrer le serveur pour voir les résultats. Avoir une façon de sortir?


0 commentaires

3 Réponses :


29
votes

Il existe quelques options, détaillées dans le Sinatra FAQ . Le plus simple semble être d'utiliser fusil de chasse , que vous pouvez installer et invoquer comme suit: xxx

ou si vous utilisez définir votre application en héritant depuis sinatra :: base et utilisez un config.ru fichier: xxx


2 commentaires

Si vous exécutez fusil de chasse à partir de votre projet dir, il trouvera config.ru automatiquement.


En tant que note, Shotgun redémarre automatiquement l'application. La distinction entre la prise de modifications automatiquement en compte, contre le redémarrage de l'application doit être explicite. +1 cependant.



5
votes

Si vous utilisez Passager de la Phusion, vous pouvez mettre ce fichier dans le dossier racine de l'application

TMP / TOWAY_RESTART.TXT

et il redémarrera sur chaque demande.

http://www.modrails.com/documentation/user%20Guide% 20apache.html (Section 8.7)


1 commentaires

Ce qui précède fonctionne également si l'utilisation de pow de 37Signal pour OS X et est très pratique pendant le développement. ( pow.cx/manual.html#ssection_2.5 )



2
votes

Better Way est d'utiliser le reloadeur de SINATRA-STOCT GEM (également de Sinatra FAQ ): First Installez SINATRA-STOCT GEM, puis assurez-vous que votre fichier de votre application commence par ces lignes:

require 'sinatra'
require 'sinatra/reloader' if development?


1 commentaires

Je ne pense pas que cela fonctionne si vous courez Sinatra dans un style modulaire ...?