Czym różni się praca w tle od zwykłych długich zadań?
Proces w tle nie musi udostępniać sesji terminala do ciągłej interakcji.
Tło nadaje się do zadań niewymagających stałej interakcji
Narzędzia terminala mogą uruchamiać odpowiednie polecenia jako odłączone procesy w tle. Zwykle zwracają informacje o procesie, ale nie są sesjami interaktywnymi pozwalającymi wielokrotnie wpisywać i czekać; identyfikatora procesu nie można używać jako identyfikatora sesji.
Jeśli trzeba stale oglądać wyniki i stan zakończenia, Agent powinien użyć sposobu wykonania umożliwiającego dalsze śledzenie.
Najpierw uzgodnij rozpoznanie ukończenia
Przed rozpoczęciem pracy w tle określ miejsce zapisu wyników i sposób kontroli zakończenia; samo „uruchomiono” nie dowodzi powodzenia zadania.
Przed rozpoczęciem zadania w tle poproś agenta o lokalizację wyników, sposób sprawdzenia dalszego działania i zatrzymania bieżącego procesu. Wracając później, zestaw te informacje z rzeczywistym stanem; sam wcześniej zwrócony identyfikator procesu nie potwierdza obecnej aktualności.
- Potwierdź, czy praca w tle rzeczywiście jest potrzebna.
- Zleć programowi zapisywanie ważnych wyników w plikach.
- Później sprawdź stan procesu i kompletność plików.
- Dostarczaj raporty lub załączniki wynikowe dopiero po potwierdzeniu ukończenia.
Granice zatrzymania i dostarczania
Nie pobieraj niepełnych plików jako końcowych wyników, gdy proces w tle nadal zapisuje; wykryty zapis może też chwilowo blokować dostarczanie. Gdy trzeba zatrzymać proces, potwierdź jego związek z bieżącym zadaniem, aby nie wpłynąć na inną pracę. Odświeżenie strony lub zakończenie odpowiedzi modelu nie dowodzi zatrzymania wszystkich procesów w tle; przed dalszym działaniem sprawdź rzeczywisty stan.