Wyszukiwanie, pamięć podręczna i zadania w tle
Pamięć podręczna, wyszukiwarka, kolejki i harmonogramy wykonują różne zadania. Dobierz je do potrzebnych funkcji, a potem sprawdź zachowanie aplikacji po awarii każdej z tych usług.
Na tej stronie
Wyszukiwanie i pamięć podręczna
SearchService korzysta z zarejestrowanych strategii i pomija te, które są niedostępne w danej konfiguracji. Sprawdź wymagania wybranej strategii. CacheService przechowuje wyniki do ponownego użycia. Gdy wynik zależy od tenantu lub organizacji, uwzględnij ten kontekst w kluczu pamięci podręcznej.
Pamięć podręczna i wyszukiwarka to osobne usługi dobierane do funkcji. Działająca strona nie oznacza, że działa również worker.
Kod i dokumentacja
Zadania wykonywane w tle
Konfiguracja kolejki wybiera wykonanie lokalne albo asynchroniczne. Praca asynchroniczna potrzebuje działającego workera i zasad ponawiania. Harmonogram uruchamia zadania cykliczne. Nadal trzeba obsłużyć błędy i zapobiec powieleniu operacji biznesowych.
Kod i dokumentacja
Podobny objaw może mieć różne przyczyny
| Co widzisz | Co sprawdzić |
|---|---|
| Zmieniony rekord nadal pokazuje starą wartość | Porównaj bazę z odpowiedzią z pamięci podręcznej. Sprawdź klucz, czas ważności i usuwanie starego wyniku po zapisie. |
| Rekord otwiera się po ID, ale nie ma go w wyszukiwarce | Sprawdź wybraną strategię wyszukiwania, aktualizację indeksu i filtry dostępu w zapytaniu. |
| Formularz działa, a eksport czeka na wykonanie | Sprawdź kolejkę, proces workera, czas oczekiwania zadania i ostatni błąd. Serwer strony może działać przy zatrzymanym workerze. |
Kod i dokumentacja
Jakie dane przekazać do zadania w tle
Worker nie ma sesji przeglądarki. Przekaż identyfikator rekordu oraz tenant i organizację potrzebne do bezpiecznego odczytu. Zdecyduj, czy zadanie ma pobrać aktualne dane przy uruchomieniu, czy korzystać ze stanu zapisanego w chwili zlecenia. To istotne, gdy zamówienie zmieni się podczas oczekiwania.
Dane dostępowe do usług trzymaj na serwerze. W logach uwzględnij identyfikator operacji, aby połączyć zadanie, kolejną próbę i odpowiedź drugiego systemu. Ukrywaj sekrety i pomijaj zbędne dane klientów.
Kod i dokumentacja
Przykład: nocna synchronizacja produktów
- Ustal, z którego systemu pochodzą aktualne dane produktów i jak łączysz rekordy.
- Zapisuj postęp, żeby wznowić przerwane zadanie bez powielania rekordów.
- Zapisuj błędy bez haseł, kluczy i zbędnych danych klientów.
- Po zakończeniu porównaj dane źródłowe z docelowymi, także rekordy brakujące i odrzucone.
Kod i dokumentacja
Co sprawdzić przed uruchomieniem
Zatrzymaj workera, przerwij połączenie z dostawcą i odtwórz kopię w środowisku testowym. Sprawdź, jak wykryjesz błąd, kto dostanie powiadomienie i jakie dane są potrzebne do wznowienia pracy. Osobno uwzględnij kopie aplikacji, bazy, plików i kluczy.