Tło
Mam aplikację internetową, która utworzy obraz z danych wprowadzanych przez użytkownika. Utworzenie obrazu może zająć za kilka sekund.Czy ta aplikacja internetowa wymaga kolejki zadań?
Problem
Jeśli pozwolę wątku serwera, który obsługuje żądanie/odpowiedź także generowania obrazu, który ma zamiar związać się wątek na kilka sekund, a może zapełniać mój serwer, wpływa na wydajność zabij szczeniąt itp
Pytanie
powinienem używać kolejki zadań, takich jak Celery, tak że serwer może oddać się tworzeniu obrazu i wrócić do obsługi żądań/odpowiedzi? Nie mam problemu z umożliwieniem użytkownikowi, który tworzy obraz, oczekiwania, ale nie chcę, aby inne osoby miały dostęp do strony.
+1: I ... jeśli używasz Apache, będzie on obsługiwał dużo buforowania i współbieżności dla ciebie. Rzeczywiście przy użyciu mod_wsgi możesz mieć wiele, wiele procesów backendu działających równolegle. Do czasu testów porównawczych nie można być pewnym, ale obciążenie, z jakim może sobie poradzić, jest często ogromne. –
Ok. Dzięki za uratowanie mnie N godzin pracy. Główną troską było dla mnie to, że kilka sekund było tak długo ... Jednym z moich osobistych celów było zapewnienie dobrego interfejsu użytkownika i myślałem, że użytkownik wpatruje się w pusty ekran przez kilka sekund, podczas gdy obraz zostanie wygenerowany i wysłany, byłby podrzędny. Gdyby istniała kolejka, mógłbym przynajmniej odpytować i zająć wiadomość lub coś na co popatrzeć. –
@random_person: "patrząc na pusty ekran"? W jaki sposób strona HTML może przedstawiać "pusty ekran"? Jak to robisz? Przeważnie, gdy przesyłam formularz, przez chwilę wpatruję się w poprzednią stronę. Wtedy strona zostaje nagle zastąpiona. Ponadto, wielu ludzi ma ochotę próżniaków w JavaScript, aby pokazać jakąś akcję. Ale nie wiem, jak zrobić "pusty ekran" w przeglądarce. Czy możesz to wyjaśnić? –