Domanda

Posso assert rotaie / apps Sinatra vengono inizializzati solo una volta e tutte le richieste condividono la stessa app esempio? o fare nuove richieste di spawn nuove istanze app?

E 'possibile classi personalizzate istanze e persistono nel corso della vita di app senza l'utilizzo di sessioni, depositi di database o servizi di terze parti? In caso affermativo, quali sono le implicazioni dal punto di vista filo-sicurezza?

Sto cercando di capire come implementare un web-based download manager e sto valutando quadri rubino-based.

È stato utile?

Soluzione

  

rotaie assert Posso / apps Sinatra sono   inizializzato solo una volta e tutte le richieste   condividere la stessa istanza app? o fare nuove   richieste di spawn nuove istanze app?

Non in generale. Questo dipende molto dalla configurazione. Se si esegue solo su processi con un server (aka rack handler) che riutilizza lo stesso oggetto applicazione, questo funzionerà. Se la stessa istanza dell'applicazione viene utilizzato dipende dal framework web che si sta utilizzando. Sinatra per esempio crea una nuova istanza della classe di applicazione (di solito Sinatra::Application) per ogni richiesta, se utilizzato come Rack endpoint.

  

E 'possibile campione personalizzato   classi e persistono durante l'app   corso della vita senza l'utilizzo di sessioni,   depositi di database o di terze parti   Servizi? In caso affermativo, quali sono le   implicazioni dal thread-sicurezza   punto di vista?

Se davvero si vuole persistere classi, probabilmente avrete bisogno di qualcosa di simile a levitazione magnetica. Tuttavia, credo che si intende persistenti istanze di classi personalizzate. Se non si desidera utilizzare un database per la persistenza (si dovrebbe davvero), si potrebbe cadere di nuovo a PStore, fornito con Ruby.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top