Risoluzione dei problemi relativi a errori e limiti di utilizzo di Flow
Questo documento descrive limiti ed errori comuni, il motivo per cui si verificano e come risolverli. Esistono due tipi di errori che potresti riscontrare in Flow, errori permanenti ed errori temporanei.
Su questa pagina
Errori durante la modifica dei flussi di lavoro
Quando modifichi un flusso di lavoro, potresti riscontrare errori che ti impediscono di salvarlo. Di seguito sono riportati gli errori comuni che potresti riscontrare durante la modifica di un flusso di lavoro:
Dati non trovati
Quando aggiungi una nuova azione a un flusso di lavoro, potresti riscontrare un errore che indica Data not found
, ad esempio, Customer data not found
. Questo errore si verifica quando i dati richiesti per l'azione non sono disponibili. Ad esempio, se aggiungi un'azione che richiede un ID prodotto, questo errore indica che il tuo flusso di lavoro non ha fornito un prodotto utilizzabile.
In genere, questi dati vengono forniti da un trigger o da un'azione "Get data" (Ottieni dati). Se utilizzi "Get data" (Ottieni dati), un problema comune è che l'azione richiede un singolo elemento (il cliente), ma fornisce un elenco (un elenco di clienti). Per chiamare l'azione, devi aggiungere un'azione Per ogni per scorrere l'elenco e chiamare l'azione per ogni voce dell'elenco.
Per problemi con i dati di trigger, consulta la documentazione relativa all'azione per trovare un trigger che fornisce i dati corretti.
Errori durante l'esecuzione di un flusso di lavoro
Quando si verifica un errore durante l'esecuzione di un flusso di lavoro, questa viene contrassegnata come non riuscita. Il messaggio di errore viene visualizzato nei dettagli di esecuzione del flusso di lavoro. Di seguito sono riportati alcuni errori comuni che potrebbero verificarsi quando l'esecuzione di un flusso di lavoro non va a buon fine:
Errori temporanei
Gli errori temporanei sono errori transitori che si verificano quando Flow non è in grado di completare un'attività. Tali errori verranno ritentati finché non saranno risolti o raggiungeranno un limite di timeout. Ad esempio, se Flow non è in grado di contattare un partner durante l'esecuzione di un'azione del connettore, ritenta l'attività più volte prima di rinunciare.
I tentativi sono discontinui e il ritardo tra i tentativi successivi aumenta di volta in volta. In genere, quando un flusso di lavoro contiene errori temporanei, mantiene lo stato in esecuzione per un lungo periodo di tempo mentre ritenta le attività.
Quando un'attività viene ritentata correttamente, il flusso di lavoro continua. Se un'attività ritentata sperimenta un errore permanente, il flusso di lavoro non va a buon fine. Ogni sezione del flusso di lavoro ha un limite di esecuzione superiore combinato di 36 ore. Se un passaggio con errori temporanei non va a buon fine prima che tale limite venga raggiunto, il flusso di lavoro non va a buon fine.
I flussi di lavoro con passaggi "wait" sono suddivisi in sezioni, ciò influisce sul modo in cui vengono calcolati i limiti di timeout in un flusso di lavoro. Ogni sezione è un gruppo di attività che vengono eseguire insieme e ognuna ha un proprio limite di 36 ore. Ad esempio, se un flusso di lavoro ha un passaggio "wait" in attesa da un'ora, le attività antecedenti il passaggio verranno eseguite insieme in un'unica sezione e le attività successive al passaggio verranno eseguite insieme in un'altra sezione. Se un flusso di lavoro ha più passaggi "wait", le attività tra ogni passaggio verranno eseguite insieme in un'unica sezione. I flussi di lavoro senza un passaggio "wait" sono considerati come una sola sezione.
Gli errori temporanei occasionali sono comuni. Tuttavia, se un flusso di lavoro incontra costantemente lo stesso errore temporaneo in diverse esecuzioni, potrebbe essere necessario riconfigurarlo.
Passaggio scaduto
Step timed out
: questi errori si verificano quando un'attività nel flusso di lavoro tenta di eseguire query su una quantità di dati troppo ampia in un'unica sezione. L'errore si verifica spesso in flussi di lavoro che eseguono l'iterazione sugli elenchi, in particolare quelli nidificati, troppo grandi per essere recuperati in modo tempestivo.
Quando si verifica questo errore in un flusso di lavoro, il trigger o il passaggio "wait" viene visualizzato come retrying
.
Per risolvere questo problema, controlla tutte le condizioni che accedono agli elenchi e agli elenchi nidificati assicurandoti che siano corretti. Un problema comune è che una condizione controlla tutti i prodotti in un negozio anziché solo i prodotti di un ordine.
Stato 5xx
La maggior parte delle azioni di Flow riguardano l'esecuzione di chiamate HTTP. A volte, problemi di rete o di server possono causare un errore delle chiamate HTTP e restituire un codice di errore tra 500 e 599. Se questo errore si verifica una sola volta non è un problema ma, se si ripete, potrebbe indicare un problema con il server che gestisce l'attività, anziché con la configurazione del passaggio.
Questo tipo di errore viene generalmente visualizzato con l'azione Invia richiesta HTTP, ma può verificarsi per la maggior parte delle attività.
GraphQL limitato
Il volume totale di lavoro svolto da un flusso di lavoro è vincolato dal limite del numero di richieste API, determinato in parte dal tuo piano. In genere, tale limite non viene raggiunto a meno che un flusso di lavoro non sia molto complesso o non contenga un errore di progettazione involontario. Di seguito sono riportati alcuni esempi di scenari che possono portare a questo errore:
- Liquid o condizioni nel ciclo del flusso di lavoro su un elenco con grandi quantità di dati, come il controllo dei valori dei metafield che contengono HTML.
- Liquid o condizioni nel ciclo del flusso di lavoro su un elenco di grandi dimensioni, ad esempio
shop.orders
in un negozio di grandi dimensioni. - Un flusso di lavoro si traduce in un ciclo infinito in cui esso continua a creare nuove esecuzioni. Ad esempio, ciò può accadere se il flusso di lavoro utilizza il trigger Tag cliente aggiunto e include l'azione Aggiungi tag cliente.
Se viene raggiunto il limite, riceverai un errore GraphQL throttled
. Questo errore può influire sugli altri flussi di lavoro nel tentativo di esecuzione, pertanto dovrebbe essere risolto immediatamente quando si verifica.
Errori permanenti
Gli errori permanenti sono errori che si verificano quando Flow non è in grado di completare un'attività e questa non può essere ritentata. Ad esempio, se Flow non è in grado di inviare un'email perché l'indirizzo email non è valido, non ritenta l'attività. Il flusso di lavoro, dunque, non va a buon fine.
Campi: gli ID sono obbligatori, ma sono vuoti
La maggior parte delle azioni in Shopify richiede l'esecuzione di una o più risorse (ad esempio un prodotto, un cliente o un ordine). A volte la risorsa non è disponibile, pertanto l'azione non può essere eseguita come previsto. Ad esempio, è possibile creare nel pannello di controllo un ordine che non abbia un cliente. Se tenti di eseguire un'azione, ad esempio Aggiungi tag cliente, l'azione non andrà a buon fine se si verifica questo errore.
Per evitare un errore, puoi aggiungere una condizione prima dell'azione per verificare se la risorsa esiste. Nell'esempio precedente, se vuoi inviare un'email interna nello stesso flusso di lavoro di Aggiungi tag cliente, puoi inserire l'azione prima del passaggio che potrebbe non andare a buon fine oppure puoi eseguire una delle operazioni seguenti.
Inserisci le azioni in rami paralleli (dove due o più rami si generano da un passaggio)
Aggiungi una condizione prima dell'azione per verificare se il cliente è presente. Ad esempio, puoi verificare se order / customer / id is not empty and exists
.
Flow non ha l’autorizzazione per accedere al tuo account Fogli Google. Ricollega il tuo account.
Il connettore a Fogli Google richiede di collegare il tuo account Google a Flow per avere l'autorizzazione a scrivere sul foglio. Questo errore può verificarsi quando Flow non ha l'autorizzazione a scrivere su un foglio, perché l'account è stato scollegato o non è in grado di accedere a quel foglio.
Per risolvere questo problema, assicurati che l'account utilizzato per il connettore possa aprire il foglio e avere accesso in modifica. Se l'account collegato è sbagliato, puoi scollegarlo e collegarne uno nuovo.
Passaggi:
- Apri o crea un nuovo flusso di lavoro.
- Aggiungi un'azione.
- Seleziona il connettore a Fogli Google.
- Clicca su Disconnetti, quindi clicca su Connetti.
Azione Flow ricevuta con proprietà non valide. Il cliente non accetta comunicazioni di marketing.
L'azione Invia email di marketing non invia email ai clienti che non hanno accettato di riceverle e non va a buon fine in modo permanente se il flusso di lavoro tenta di farlo.
Per risolvere questo problema, aggiungi una condizione nel flusso di lavoro che controlli lo stato di abbonamento dei clienti. Puoi assicurarti che i clienti abbiano accettato di ricevere email di marketing prima di inviarle. Segui i passaggi in Gestione elenco iscritti all'email.
Risorsa mancante per [tipo di risorsa]
Questo errore indica che una risorsa, ad esempio customer
o order
, è stata eliminata prima che il flusso di lavoro fosse in grado di recuperare i dati. Spesso ciò avviene dopo un passaggio "wait", ma può anche accadere sul trigger se la risorsa viene eliminata rapidamente dopo il verificarsi dell'evento trigger.
Ricezione di una notifica quando si verifica un errore
Se la presenza di errori incide sulle operazioni del negozio, puoi configurare le notifiche per quando si verifica un errore. Le notifiche di errore possono essere create come qualsiasi altro flusso di lavoro utilizzando il trigger Workflow error occurred (Si è verificato un errore nel flusso di lavoro). Le notifiche di errore sono progettate per limitare i messaggi indesiderati, quindi riceverai solo una notifica per versione del flusso di lavoro.
Per iniziare, puoi utilizzare uno dei seguenti modelli:
- Ricezione di un avviso Shopify quando vengono rilevati errori nell'esecuzione del flusso di lavoro
- Ricezione di una notifica via email quando vengono rilevati errori nell'esecuzione del flusso di lavoro
- Ricezione di una notifica Slack quando vengono rilevati errori nell'esecuzione del flusso di lavoro
Nuovi tentativi di esecuzione
In alcuni casi, un'esecuzione di un flusso di lavoro può riscontrare un errore o non essere eseguita come previsto. Dopo aver individuato e risolto i problemi nel flusso di lavoro in questione, è possibile ritentare manualmente le esecuzioni passate per correggerne retroattivamente il risultato. Scopri di più sui Nuovi tentativi di esecuzione dei flussi di lavoro.
Esecuzione (velocità limitata)
In alcuni casi, uno o più flussi di lavoro possono utilizzare un numero eccessivo di risorse. Per evitare che ciò possa causare problemi, Flow limiterà attivamente le esecuzioni del negozio, causando possibili ritardi ed errori di timeout. Il problema può essere risolto riscrivendo i flussi di lavoro inefficienti, in genere per correggere un bug laddove il funzionamento non corrisponda a quello previsto.
Esecuzione prolungata
Questo messaggio indica che l'esecuzione di un flusso di lavoro sta richiedendo molto tempo. In genere il problema è causato dalla presenza di una gran quantità di dati all'interno di un flusso di lavoro, che richiedono molto tempo per essere recuperati da Flow.
Esempio
Questi casi sono generalmente causati da percorsi di richiesta complessi che analizzano più elenchi di articoli (ad esempio, la richiesta di tutti i metafield per tutti i prodotti in tutte le collezioni di cui fa parte un prodotto):
Questo è spesso correlato al passaggio Trigger di un flusso di lavoro in timeout.I flussi di lavoro che utilizzano tutti i metafield spesso possono essere migliorati semplicemente utilizzando un metafield specifico. L'accesso a più elenchi nidificati (ad esempio tutti i prodotti in tutte le collezioni di un prodotto) o a elenchi particolarmente grandi (come le definizioni dei metafield, che contengono tutti i metafield per tutti gli oggetti) potrebbe essere stato eseguito involontariamente. Selezionare il campo corretto (il singolo prodotto o un singolo metafield su un oggetto) può migliorare notevolmente l'efficienza. In altri casi, l'azione "Ottieni dati prodotto/ordine/cliente" con un filtro di query può ridurre significativamente il numero di oggetti utilizzati, ma permettere comunque l'accesso a quelli rilevanti.
Elaborazione di una quantità elevata di dati
Questo messaggio indica che le esecuzioni di un flusso di lavoro stanno generando una grande quantità di dati. Questo è generalmente causato dalla presenza di condizioni complesse che controllano molti campi, di solito a causa del controllo dei campi su più livelli di elenchi.
Esempio
Ad esempio, una condizione come "Per almeno un tag di questo cliente, per almeno una voce dell'ordine, per almeno un tag della voce" può comportare l'esecuzione di molti controlli e la generazione di molti dati per visualizzare i risultati di tali controlli:
Tentativi automatici non riusciti
Questo messaggio indica che l'esecuzione di un flusso di lavoro sta ripetutamente fallendo a causa di un problema temporaneo, ma che i i tentativi ripetuti non vengono eseguiti correttamente con frequenza. Questo si verifica spesso quando l'API Shopify Admin o l'app di un partner riscontrano un volume elevato di richieste.