| Termin | Definicja |
|---|---|
| powielanie działań z innego workflow | Powielanie działań z innego workflow to nieświadome uruchomienie tej samej reguły w dwóch niezależnych scenariuszach. Na czym polega powielanie działań z innego workflowPowielanie działań z innego workflow oznacza sytuację, w której ta sama reguła, operacja albo reakcja została umieszczona w dwóch niezależnych przepływach automatyzacji. Workflow, czyli zdefiniowany ciąg czynności wykonywanych po określonym zdarzeniu, może działać poprawnie osobno, ale po połączeniu z drugim scenariuszem wykonać tę samą czynność więcej niż jeden raz. Błąd często powstaje nie dlatego, że pojedyncza reguła jest niepoprawna, lecz dlatego, że kilka reguł reaguje na to samo zdarzenie lub przekazuje dane do tego samego etapu. Przykładem może być automatyczne tworzenie kopii pliku po jego zapisaniu. Jeden workflow wykrywa zmianę w folderze i kopiuje plik do katalogu zapasowego, a drugi uruchamia identyczną kopię po zmianie nazwy lub metadanych tego samego pliku. Jeżeli pierwsza operacja modyfikuje plik albo jego wpis w systemie plików, może wywołać także drugi scenariusz. W rezultacie powstają kolejne kopie, duplikaty z innymi nazwami lub wielokrotne wpisy w dzienniku zdarzeń. Zjawisko może dotyczyć również wysyłania powiadomień, zmiany nazw, przenoszenia dokumentów, uruchamiania skryptów i aktualizacji rekordów. Wyzwalacze, warunki i skutki wielokrotnego uruchomieniaNajważniejszym elementem analizy jest wyzwalacz, czyli warunek rozpoczynający workflow. Dwa scenariusze mogą mieć różne nazwy, ale korzystać z tego samego wyzwalacza, na przykład pojawienia się pliku, zmiany jego zawartości, zakończenia pobierania albo zmiany statusu zadania. Dodatkowe problemy występują wtedy, gdy warunki wejściowe są zbyt szerokie. Reguła reagująca na każdą zmianę w katalogu może obejmować także pliki utworzone przez inny workflow. Reguła reagująca na ogólny status „zakończone” może zostać uruchomiona przez kilka procesów, które ustawiają ten sam status. Skutkiem powielania działania jest najczęściej niespójność danych. Ten sam dokument może zostać zapisany dwa razy, wiadomość wysłana wielokrotnie, a rekord zmieniony przez dwa procesy w różnej kolejności. Jeżeli operacje wykonują się równolegle, może wystąpić wyścig, w którym końcowy wynik zależy od tego, który workflow zapisze dane jako ostatni. W przypadku operacji nieodwracalnych, takich jak usunięcie pliku, wysłanie komunikatu lub uruchomienie zewnętrznego zadania, powtórzenie może mieć większe konsekwencje niż zwykłe utworzenie duplikatu. Nie każda wielokrotna aktywacja oznacza błąd. Niektóre workflow są projektowane tak, aby ponawiać operację po błędzie albo obsługiwać kilka niezależnych elementów. Różnica polega na tym, czy kolejne wykonanie jest zamierzone i bezpieczne. Operacja idempotentna daje ten sam wynik po jednokrotnym i wielokrotnym wykonaniu, na przykład ustawienie konkretnej wartości w rekordzie. Operacja nieidempotentna, taka jak dopisanie kolejnego wpisu, naliczenie wartości lub wysłanie wiadomości, wymaga kontroli przed ponownym uruchomieniem. Śledzenie źródła zdarzenia i rozdzielenie odpowiedzialnościDiagnostykę należy rozpocząć od ustalenia pełnego łańcucha: zdarzenie początkowe, wyzwolony workflow, wykonane akcje, zmienione dane oraz kolejne zdarzenia wywołane przez te zmiany. Pomocne są znaczniki czasu, identyfikatory wykonania, nazwy reguł i wartości wejściowe przekazywane między etapami. Jeżeli dwa wpisy w dzienniku mają ten sam identyfikator dokumentu, podobny czas wykonania i identyczny typ operacji, jest to mocna przesłanka, że działanie zostało powielone. Sam fakt podwójnego wpisu nie wskazuje jeszcze, który workflow był pierwotnym źródłem. W praktyce trzeba porównać konfiguracje wszystkich reguł reagujących na dany typ zdarzenia. Należy sprawdzić, czy jeden workflow nie uruchamia drugiego pośrednio, na przykład przez zmianę nazwy pliku, statusu zadania lub zawartości pola. Warto również przeanalizować ścieżki błędów i mechanizm ponawiania. Czasem użytkownik widzi dwa wykonania, ponieważ pierwsze zakończyło się przekroczeniem czasu oczekiwania, lecz faktycznie wykonało operację przed zgłoszeniem błędu. Drugi przebieg może wtedy powtórzyć czynność, mimo że system nie otrzymał poprawnego potwierdzenia pierwszego wykonania. Ograniczenie problemu polega na wyraźnym przypisaniu jednej czynności do jednego workflow albo na dodaniu warunku rozpoznającego już obsłużony element. Stosuje się także blokady, identyfikatory operacji, kontrolę wersji danych oraz rejestr wykonanych działań. Każdy workflow powinien mieć opis wyzwalacza, zakres danych i odpowiedzialność za końcowy zapis. Dzięki temu łatwiej wykryć, że dwie reguły wykonują tę samą czynność, zamiast traktować objaw jako przypadkową awarię aplikacji. Powielanie workflow a diagnostyka laptopa i komputera PCNa komputerze użytkownika powielanie działań może być związane z aplikacją do synchronizacji plików, programem do kopii zapasowych, klientem poczty, narzędziem do automatyzacji dokumentów albo zadaniem uruchamianym przez system operacyjny. Przy diagnostyce sprawdza się wtedy listę aktywnych reguł, harmonogramy zadań, programy działające w tle oraz dzienniki aplikacji. Istotne jest odtworzenie kolejności zdarzeń: czy problem rozpoczyna się po uruchomieniu programu, po zalogowaniu użytkownika, po podłączeniu nośnika, czy dopiero po zmianie pliku w konkretnym katalogu. Warto także porównać, czy na komputerze nie działają jednocześnie dwie instancje tego samego programu lub dwa profile synchronizacji obejmujące wspólną lokalizację. Podwójne ikony w obszarze powiadomień, powtarzające się procesy, dwa wpisy harmonogramu i identyczne komunikaty w logach mogą wskazywać na konkurencyjne wykonania. Nie należy jednak usuwać konfiguracji bez sprawdzenia zależności, ponieważ jeden workflow może odpowiadać za właściwą kopię danych, a drugi jedynie za raportowanie. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, a w ramach diagnostyki można ustalić, czy źródłem problemu jest konfiguracja programu, konflikt zadań automatycznych czy nieprawidłowe działanie sprzętu. |