Utilizzando Django (ospitato da Webfaction), ho il seguente codiceDjango, sleep() mette in pausa tutti i processi, ma solo se nessun parametro GET?
import time
def my_function(request):
time.sleep(10)
return HttpResponse("Done")
Questo viene eseguito attraverso Django quando vado al mio url, www.mysite.com
ho inserire l'URL due volte, subito uno dopo l'altro. Per come la vedo io, entrambi dovrebbero finire dopo 10 secondi. Tuttavia, la seconda chiamata attende il primo e termina dopo 20 secondi.
Se, tuttavia, io entro alcuni parametri GET fittizio, www.mysite.com?dummy=1 e www.mysite.com?dummy=2 poi entrambi finitura dopo 10 secondi. Quindi è possibile che entrambi funzionino contemporaneamente.
È come se l'ambito di sleep() sia in qualche modo globale ?? Forse inserire un parametro li fa correre come processi diversi invece degli stessi ???
È ospitato da Webfaction. httpd.conf ha:
KeepAlive Off
Listen 30961
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
ho bisogno di essere in grado di usare sleep() e la fiducia che non si ferma tutto. Allora, come va e come risolverlo?
Modifica: Webfaction esegue questo utilizzando Apache.
Qual è il caso d'uso per l'uso di "sonno"? Sembra che tu stia facendo qualcosa di molto strano se vuoi usarlo in un ciclo di richiesta/risposta. Forse potresti spiegare cosa stai cercando di fare e possiamo suggerire alternative. –