Nel mio metodo di controllo Rails, che viene eseguito quando l'utente invia un modulo, c'è un codice Ruby sleep(60)
, che gli dice di attendere un minuto. Un utente invia il modulo e mentre l'esecuzione è "dormiente", un altro utente invia il modulo. Il secondo utente dovrà attendere il completamento del primo utente o l'esecuzione del controller verrà avviata per il secondo utente?Dormire nel controllore
5
A
risposta
10
Entrambi gli utenti attenderanno solo 60 secondi, non dipenderanno l'uno dall'altro. Poiché la richiesta verrà elaborata separatamente l'una per l'altra. Quindi nessuna dipendenza
Con l'avvertenza che se il server dei binari è a thread singolo (ad esempio Webrick), il secondo utente dovrà attendere che la prima richiesta dell'utente venga completata completamente prima di poter essere avviata. –
Sì, giustamente, se un server è un thread sinlge, allora non sarà divertente intrattenere entrambe le richieste alla volta, quindi la richiesta del secondo utente sarà intrattenuta dopo che l'ex è finita –
accettarlo se pensi che la risposta sia corretta almeno –