To może być pytanie python. Bez wątpienia jest to noobish.django wstępnie oblicza i buforuje widok
Klient żąda strony wymagającej dużych obliczeń [strona-1] i ostatecznie zażąda drugiej strony wymagającej dużych obliczeń [strona-2], którą można obliczyć na przykład, gdy znane jest żądanie dla strony-1. Nie chcę obliczyć każdego zestawu danych przed udostępnieniem strony-1, ponieważ znacznie spowolni to działanie początkowej odpowiedzi.
Chcę obliczyć wartość dla strony-2, podczas gdy klient czyta stronę-1. Klient może również kliknąć kilka przycisków, które powodują odpowiedź, która zapewnia inny widok danych na stronie 1, ale nie wymagają intensywnego obliczania. W końcu, ale niekoniecznie natychmiast, klient poprosi o stronę 2 i chcę mieć możliwość odpowiedzi z wcześniej wyświetloną odpowiedzią.
Jak to zrobić?
którą chcesz wywołać funkcja asynchroniczna, która oblicza stronę 2 na podstawie informacji o stronie 1, przechowuje ją w pamięci podręcznej (lub w dowolnym miejscu), a następnie na stronie 2: stale odpytuje widok, który wie, aby sprawdzić określony klucz w pamięci podręcznej, aby określić, kiedy zadanie w tle zostało zakończone obliczanie zadania step2. –
Nie mam pojęcia, jak to zrobić. Każde małe przewodnictwo bardzo by pomogło. – Cole
Przykro mi, nie mogę przejść do bardziej szczegółowych informacji bez pisania eseju. Zasadniczo musisz wywołać tę kosztowną funkcję, gdy tylko klient1 przeczyta stronę. Jeśli nie chcesz, aby klient oczekiwał na to przed załadowaniem strony, musisz uczynić to zadanie asynchronicznym. Zadanie w tle. Następnie na stronie 2 należy uwzględnić fakt, że zadanie w tle NIE jest jeszcze ukończone. W związku z tym twoja druga strona musi mieć mechanizm, aby nieprzerwanie odpytywać serwer do czasu zakończenia zadania BG, po czym możesz pokazać stronę 2 swojemu użytkownikowi. –