Programista .NET / C# — Praca krok po kroku
Restart następuje w połowie tworzenia raportu
Praca krok po kroku · Lekcja 3 z 6
Kolejka i ślad pracy
Zapisz identyfikator, stan i warunki podjęcia zlecenia. Zdecyduj, które dane muszą przetrwać restart. Udostępniaj status osobie mającej prawo go odczytać.
- Co zrobić najpierwZapisz pracę
- Co zrobić dalejAktualizuj stan
- Jak zakończyćPotwierdź wynik
Przykład z pracy
Kolejka pamięta zlecenie, a aplikacja pokazuje, że oczekuje na wykonanie.
Ćwiczenie praktyczne
Opisz stany oczekiwania, pracy i zakończenia oraz warunki przejść.
Restart następuje w połowie tworzenia raportu
Podejmij decyzję
Wróć do notatki z początku sprawy. Zapisz pierwsze działanie i wyjaśnij, jak pomoże rozwiązać sytuację.
Pokaż przykładową reakcję
Odczytuję trwały stan, stosuję uzgodnione ponowienie i potwierdzam kompletność Przywracasz pracę bez podwójnego efektu i pozostawiasz spójny wynik.
- Oznaczam raport jako gotowy po ponownym uruchomieniu
- Sam start usługi nie potwierdza kompletności wyniku.
- Tworzę dowolny drugi wynik bez sprawdzenia stanu
- Dwie części lub dwie wersje mogą trafić do użytkownika jako różne raporty.
- Odczytuję trwały stan, stosuję uzgodnione ponowienie i potwierdzam kompletność
- Przywracasz pracę bez podwójnego efektu i pozostawiasz spójny wynik.
Sprawdź się — opcjonalne pytanie
Co pozwala odzyskać pracę po restarcie?
- Trwały zapis potrzebnych danych i stanu
- Wiadomość tylko w pamięci procesu
- Historia przeglądarki użytkownika
Pokaż odpowiedź i wyjaśnienie
Trwały zapis potrzebnych danych i stanu. Odzyskanie zależy od dostępnego śladu wykonania.
Praca krok po kroku · Lekcja 4 z 6
Anulowanie i zatrzymanie
Przekazuj sygnał anulowania do operacji, które go obsługują. Ustal etapy, w których można zakończyć bez pozostawienia niejasnego wyniku. Zapisz stan umożliwiający reakcję po uruchomieniu.
- Co zrobić najpierwOdbierz sygnał
- Co zrobić dalejZakończ etap
- Jak zakończyćZapisz stan
Przykład z pracy
Po sygnale zatrzymania worker nie zaczyna nowej sprawy i zapisuje stan bieżącej.
Ćwiczenie praktyczne
Wskaż granice bezpiecznego zatrzymania procesu raportowego.
Sprawdź się — opcjonalne pytanie
Po co propagujesz anulowanie?
- Żeby zawsze ignorować trwające żądania
- Żeby operacje mogły zakończyć pracę w uzgodniony sposób
- Żeby zniknęła potrzeba zapisu stanu
Pokaż odpowiedź i wyjaśnienie
Żeby operacje mogły zakończyć pracę w uzgodniony sposób. Sygnał koordynuje kontrolowane kończenie pracy.