Usuwanie błędów w aplikacji Flow i limity użytkowania

W tym dokumencie opisano typowe błędy i limity, przyczyny ich występowania oraz sposób ich obsługi. Istnieją dwa typy błędów, które mogą wystąpić w aplikacji Flow: błędy trwałe i błędy przejściowe.

Błędy podczas edycji workflow

Podczas edytowania workflow mogą wystąpić błędy, które uniemożliwiają zapisanie workflow. Poniżej przedstawiono typowe błędy, które mogą wystąpić podczas edycji workflow:

Nie znaleziono danych

Podczas dodawania nowej czynności do workflow może wystąpić błąd z informacją: Data not found, np. Customer data not found. Błąd ten występuje, gdy dane wymagane dla czynności nie są dostępne. Na przykład, jeśli dodajesz czynność, która wymaga ID produktu, ten błąd oznacza, że workflow nie dostarczył odpowiedniego produktu.

Zazwyczaj dane te są dostarczane przez wyzwalacz lub czynność „Pobierz dane”. W przypadku opcji „Pobierz dane”, częstym problemem jest to, że wymaga ona pojedynczej pozycji (klienta), ale czynność dostarcza listę (listę klientów). Aby wywołać czynność, należy dodać czynnośćDla każdej, aby przetworzyć listę i wywołać czynność dla każdej pozycji na liście.

W przypadku problemów z danymi wyzwalacza, zapoznaj się z dokumentacją czynności, aby znaleźć wyzwalacz, który dostarcza odpowiednie dane.

Błędy podczas przepływu workflow

Gdy w przebiegu workflow wystąpi błąd, przebieg jest oznaczany jako nieudany. Komunikat o błędzie jest wyświetlany w szczegółach uruchomienia workflow. Poniżej przedstawiono typowe błędy, które mogą wystąpić, gdy uruchomienie workflow nie powiedzie się:

Błędy przejściowe

Błędy przejściowe to błędy tymczasowe, które pojawiają się, gdy aplikacja Flow nie jest w stanie ukończyć zadania. Błędy te są ponawiane, dopóki nie zakończą się powodzeniem lub nie osiągną limitu czasu. Na przykład, jeśli Flow nie może skontaktować się z partnerem podczas wykonywania czynności konektora, ponawia wykonanie zadania wiele razy, zanim zrezygnuje.

Ponowne próby są rozłożone w czasie, przy czym opóźnienie między każdą kolejną próbą wzrasta w stosunku do poprzedniego opóźnienia. Zazwyczaj, gdy workflow napotyka przejściowe błędy, pozostaje w stanie działania przez długi czas, ponieważ ponawia próby wykonania zadań.

Po pomyślnej ponownej próbie wykonania zadania workflow jest kontynuowany. Jeśli ponawiane zadanie napotka trwały błąd, workflow zakończy się niepowodzeniem. Każda sekcja workflow ma łączny górny limit wykonania wynoszący 36 godzin. Jeśli krok z błędami przejściowymi nie powiedzie się przed osiągnięciem limitu, workflow skończy się niepowodzeniem.

Procesy workflow z krokami oczekiwania są podzielone na sekcje, co wpływa na sposób obliczania limitów czasu w workflow. Każda sekcja to grupa zadań, które są wykonywane razem, a każde z nich ma swój własny 36-godzinny limit czasu. Na przykład, jeśli workflow ma krok oczekiwania trwający jedną godzinę, zadania przed krokiem oczekiwania zostaną wykonane razem w jednej sekcji, a zadania po kroku oczekiwania zostaną wykonane razem w innej sekcji. Jeśli workflow ma wiele kroków oczekiwania, zadania między każdym krokiem oczekiwania będą wykonywane razem w jednej sekcji. Procesy workflow bez kroku oczekiwania są traktowane jako jedna sekcja.

Sporadyczne błędy przejściowe występują często. Jeśli jednak workflow stale napotyka ten sam przejściowy błąd w wielu przebiegach, może być konieczne ponowne skonfigurowanie workflow.

Przekroczenie limit czasu kroku

Step timed out błędy zwykle pojawiają się, gdy zadanie w workflow próbuje zapytać o zbyt wiele danych w jednej sekcji. Błąd ten często występuje w procesach workflow, które wykonują iteracje po listach, zwłaszcza zagnieżdżonych, które są zbyt duże, aby można je było pobrać w odpowiednim czasie.

Gdy workflow napotka ten błąd, krok wyzwalacza lub oczekiwania jest wyświetlany jako retrying.

Aby rozwiązać ten problem, sprawdź wszelkie warunki, które mają dostęp do list i zagnieżdżonych list, aby upewnić się, że są prawidłowe. Częstym problemem jest to, że warunek sprawdza wszystkie produkty w sklepie, a nie tylko produkty w zamówieniu.

Status 5xx

Większość czynności Flow polega na wykonywaniu wywołań HTTP. Czasami problemy z siecią lub innymi serwerami mogą powodować niepowodzenie wywołań HTTP i zwracanie kodu błędu z zakresu od 500 do 599. Jednorazowe wystąpienie tego błędu nie stanowi problemu, ale powtarzające się przypadki mogą wskazywać na problem z serwerem obsługującym zadanie, a nie ze sposobem konfiguracji kroku.

Ten typ błędu jest najczęściej spotykany w czynności Wyślij zapytanie HTTP, ale może wystąpić w większości zadań.

Ograniczenie GraphQL

Całkowita ilość pracy wykonanej przez workflow jest ograniczona limitami wywołań API, które są określane częściowo przez plan. Zazwyczaj te limity nie są osiągane, chyba że workflow jest bardzo złożony lub zawiera niezamierzony błąd projektowy. Poniżej przedstawiono przykłady sytuacji, które mogą prowadzić do wystąpienia tego błędu:

  • Liquid lub warunki w pętli workflow na liście zawierającej duże ilości danych, np. sprawdzanie wartości metapól zawierających kod HTML.
  • Liquid lub warunki w pętli workflow na dużej liście, np. zapętlenie shop.orders w dużym sklepie.
  • Workflow powoduje nieskończoną pętlę, w której ciągle tworzy nowe przebiegi. Na przykład może się to zdarzyć, jeśli workflow używa wyzwalacza Dodano tagi klienta i zawiera czynność Dodaj tagi klienta.

Po osiągnięciu limitu otrzymasz błąd GraphQL throttled. Błąd ten może mieć wpływ na inne procesy workflow podczas próby uruchomienia, więc w przypadku jego wystąpienia należy go natychmiast usunąć.

Błędy trwałe

Błędy trwałe to błędy, które występują, gdy Flow nie jest w stanie ukończyć zadania i nie można ponowić próby jego wykonania. Na przykład, jeśli Flow nie jest w stanie wysłać e-maila, ponieważ adres e-mail jest nieprawidłowy, nie próbuje ponowić tego zadania. Workflow kończy się niepowodzeniem.

Flow nie ma uprawnień do Twojego konta Arkuszy Google. Podłącz ponownie swoje konto.

Konektor Arkuszy Google wymaga połączenia konta Google z aplikacją Flow w celu uzyskania uprawnień do zapisu na arkuszu. Ten błąd może wystąpić, gdy Flow nie ma uprawnień do zapisu w arkuszu, bądź dlatego, że konto zostało odłączone od Flow, lub z powodu braku dostępu tego konta do arkusza.

Aby rozwiązać ten problem, upewnij się, że konto używane dla konektora może otworzyć arkusz i ma dostęp do edycji. Jeśli nieprawidłowe konto jest powiązane, możesz je odłączyć i podłączyć nowe.

Kroki:
  1. Otwórz lub utwórz nowy workflow.
  2. Dodaj czynność.
  3. Wybierz konektor Arkusze Google.
  4. Kliknij Odłącz, a następnie Połącz.

Odebrano czynność Flow z nieprawidłowymi właściwościami. Klient nie wyraża zgody na otrzymywanie materiałów marketingowych.

Czynność Wyślij e-mail marketing nie wysyła e-maili do klientów, którzy nie zgodzili się na ich otrzymywanie, i trwale kończy się niepowodzeniem, jeśli workflow podejmie taką próbę.

Aby rozwiązać ten problem, dodaj w workflow warunek, który sprawdza status subskrypcji klientów. Możesz upewnić się, czy klienci zgodzili się na otrzymywanie e-maili marketingowych przed ich wysłaniem. Wykonaj kroki w sekcji Zarządzanie listą subskrybentów e-maili.

Brak zasobu dla [typu zasobu]

Błąd ten wskazuje, że zasób, taki jak customer lub order, został usunięty, zanim workflow mógł pobrać jego dane. Najczęściej dzieje się to po kroku oczekiwania, ale taka sytuacja może także wystąpić w wyzwalaczu, jeśli zasób zostanie usunięty bardzo szybko po wystąpieniu zdarzenia wyzwalającego.

Otrzymuj powiadomienia, gdy wystąpi błąd

Jeśli wystąpienie błędów może mieć wpływ na działanie Twojego sklepu, możesz skonfigurować powiadomienia o błędach. Powiadomienia o błędach można utworzyć tak samo, jak każdy inny workflow przy użyciu wyzwalacza Wystąpił błąd workflow. Powiadomienia o błędach mają na celu ograniczenie szumu informacyjnego, więc otrzymasz tylko jedno powiadomienie na każdą wersję workflow.

Aby rozpocząć, możesz użyć jednego z poniższych szablonów:

Ponowne uruchamianie przebiegów

W niektórych przypadkach przebieg workflow może napotkać błąd lub nie działać zgodnie z przeznaczeniem. Po rozwiązaniu problemów w powiązanym workflow wcześniejsze przebiegi można ponownie uruchomić ręcznie, aby wstecznie skorygować ich wyniki. Dowiedz się więcej o ponownym uruchamianiu przebiegów workflow.

Działanie (z ograniczoną prędkością)

W niektórych przypadkach przepływy workflow mogą wykorzystywać zbyt wiele zasobów, a w celu uniknięcia wywołanych w ten sposób problemów Flow ograniczy wykonywanie procesów w Twoim sklepie, co może spowodować opóźnienia i błędy limitu czasu. Można to naprawić poprzez zmianę nieefektywnych procesów workflow, zazwyczaj w celu naprawy błędu, który powodował niewłaściwe działanie.

Zbyt długi czas wykonywania

Ta wiadomość wskazuje, że wykonanie procesów workflow trwa bardzo długo. Jest to często spowodowane wykorzystaniem dużej ilości danych w ramach przepływu workflow, których pobieranie zajmuje Flow dużo czasu.

Przykład:

Przyczyną tego są często głębokie ścieżki żądań, które przechodzą przez wiele list pozycji (np. żądanie wszystkich metapól dla wszystkich produktów we wszystkich kolekcjach, których częścią jest produkt):

long running workflow example
Jest to również często związane z upłynięciem czasu etapu wyzwalacza procesu workflow.

Procesy workflow, które są zapętlone przez wszystkie metapola, mogą być często ulepszane tylko przy użyciu określonego metapola. Uzyskanie dostępu do wielu zagnieżdżonych list (takich jak wszystkie produkty we wszystkich kolekcjach dla produktu) lub szczególnie dużych list (takich jak definicje metapola, które zawierają wszystkie metapola dla wszystkich obiektów) mogło zostać wykonane nieumyślnie i wybranie odpowiedniego pola (pojedynczego produktu lub pojedynczego metapola w obiekcie) może znacząco poprawić wydajność. W innych przypadkach użycie działania „Pobierz dane produktu/zamówienia/klienta” za pomocą filtra zapytania może znacząco zmniejszyć liczbę używanych obiektów, ale nadal zapewnić dostęp do odpowiednich.

Przetwarzanie zbyt dużej ilości danych

Ta wiadomość wskazuje, że wykonanie procesów workflow generuje dużą ilość danych. Jest to często spowodowane posiadaniem złożonych warunków, które prowadzą do zaznaczenia wiele pól, zwykle z powodu sprawdzania pól na wielu listach.

Przykład:

Na przykład warunek „Dla co najmniej jednego tagu dla tego klienta, dla co najmniej jednej pozycji zamówienia, dla co najmniej jednego tagu w pozycji” może spowodować wiele kontroli i wygenerowanie wielu danych w celu wyświetlenia wyników tych kontroli:

too much data workflow example

Niepowodzenie automatycznych ponowień

Ta wiadomość wskazuje, że wykonania procesów workflow wielokrotnie kończą się niepowodzeniem z powodu pewnego tymczasowego problemu i nie są realizowane z sukcesem w kolejnych próbach. Często zdarza się to, gdy panel administracyjny Shopify lub aplikacja partnera napotykają dużą liczbę żądań.

Gotowy(-a) do rozpoczęcia sprzedaży za pomocą Shopify?

Wypróbuj za darmo