Flowのエラーと利用制限に関するトラブルシューティング

このドキュメントでは、一般的なエラーと制限、発生理由、それらを解決する方法について説明します。Flowで発生する可能性があるエラーには、永続的なエラーと一時的なエラーの2種類あります。

一時的なエラー

一時的なエラーは、Flowがタスクを完了できない場合に発生する一時的なエラーです。これらのエラーが発生した場合、成功するか、タイムアウト制限に達するまで再試行が行われます。たとえば、コネクターアクションを実行する際にFlowからパートナーに連絡できない場合、Flowでは、あきらめる前にこのタスクを何度も再試行します。

再試行の間隔は長くなり、次に再試行するまでの遅延時間は、前回の遅延時間よりも長くなります。通常、ワークフローで一時的なエラーが発生した場合、タスクは再試行されるため、実行中の状態が長く続きます。

タスクの再試行が成功すると、ワークフローは続行されます。タスクの再試行で永続的なエラーが発生すると、ワークフローは失敗します。すべてのワークフローセクションには、合算した実行時間の上限が決められており、その上限は36時間です。制限に達する前に一時的なエラーのあるステップが成功しなかった場合、ワークフローは失敗します。

待機ステップを含むワークフローはセクションに分かれており、これは、ワークフローでのタイムアウト制限の計算方法に影響します。各セクションは、一緒に実行されるタスクのグループで、それぞれに36時間の上限が設けられています。たとえば、ワークフローに1時間待つ待機ステップがある場合、待機ステップの前のタスクは、1つのセクションで一緒に実行され、待機ステップの後のタスクは、別のセクションで一緒に実行されます。ワークフローに複数の待機ステップがある場合、各待機ステップ間のタスクは、1つのセクションで一緒に実行されます。待機ステップのないワークフローは、1つのセクションと見なされます。

一時的なエラーが発生することはよくあります。ただし、ワークフローの複数の実行で同じ一時的なエラーが決まって発生する場合、ワークフローを再設定する必要があります。

ステップがタイムアウトした

Step timed out エラーは通常、ワークフロー内のタスクが1つのセクションで照会しようとしているデータ量が多すぎる場合に発生します。このエラーは、大きすぎて適切なタイミングで取得できないリスト (特にネストされたリスト) に対して処理を繰り返すワークフローでよく発生します。

ワークフローでこのエラーが発生すると、トリガーまたは待機ステップがretryingとして表示されます。

このエラーを解決するには、リストおよびネストされたリストにアクセスする条件を確認して、それらが正しいことをお確かめください。一般的な問題としては、条件によって、注文に含まれる商品だけではなく、ショップのすべての商品がチェックされることです。

5xxステータス

ほとんどのFlowアクションでは、HTTPコールが実行されます。ネットワークやサーバーの他の問題が発生すると、HTTPコールが失敗し、500から599のエラーコードが返される場合があります。このエラーが1回だけの場合は問題ありませんが、繰り返し発生する場合は、ステップの設定方法ではなく、タスクを処理するサーバーの問題を示している可能性があります。

このタイプのエラーは、[HTTPリクエストを送信する] アクションでよく表示されますが、ほとんどのタスクで起こる可能性があります。

GraphQLがスロットリングされた

ワークフローによって実行される作業の合計量は、APIレート制限によって制限されます。このAPIレート制限は、ご利用のプランによってある程度決まります。ワークフローが非常に複雑であるか、意図しない設計エラーがある場合を除き、通常はこの制限に到達しません。以下に、このエラーにつながる可能性があるシナリオの例を示します。

  • HTMLを含むメタフィールド値をチェックするなど、ワークフローのLiquidまたは条件で大量のデータを含むリストをループ処理する場合。
  • 大きなショップでshop.ordersをループ処理するなど、ワークフローのLiquidまたは条件で大きなリストをループ処理する場合。
  • ワークフローが無限ループになり、ワークフローが新しいワークフロー実行を作成し続ける場合。たとえば、ワークフローで [お客様タグが追加されました] トリガーを使用していて、[顧客タグを追加する] アクションが含まれている場合、これが発生する可能性があります。

制限に達すると、GraphQL throttledエラーを受け取ります。このエラーは、実行しようとしている他のワークフローに影響する可能性があるため、このエラーが発生した場合は、速やかに解決する必要があります。

永続的なエラー

永続的なエラーは、Flowがタスクを完了できず、タスクを再試行できない場合に発生するエラーです。たとえば、メールアドレスが無効であることが原因でFlowからメールを送信できない場合、タスクを再試行できません。代わりに、ワークフローは失敗します。

Flowには、Googleスプレッドシートのアカウントへの権限がありません。アカウントを再連携してください。

Googleスプレッドシートコネクターを使用する場合、GoogleアカウントをFlowにリンクして、スプレッドシートに書き込む権限を付与する必要があります。このエラーは、アカウントがFlowからリンク解除されるか、アカウントがスプレッドシートにアクセスできないことが原因で、Flowにはスプレッドシートへの書き込み権限がない場合に発生する可能性があります。

このエラーを解決するには、コネクターに使用されているアカウントで、シートを開いてアクセス権を編集できることを確認してください。間違ったアカウントがリンクされている場合は、そのアカウントの連携を解除して新しいアカウントと連携することができます。

手順

  1. 新しいワークフローを開くか、作成します。
  2. アクションを追加します。
  3. Googleスプレッドシートコネクターを選択します。
  4. [連携解除] をクリックしてから、[連携] をクリックします。

無効なプロパティがあるFlowアクションを受け取りました。お客様はマーケティングを受け入れていません。

[マーケティングメールを送信する] アクションでは、受信することに同意していないお客様にはメールを送信しないため、ワークフローが送信しようとしても永続的に失敗します。

このエラーを解決するには、ワークフローに、お客様のサブスクリプションのステータスをチェックする条件を追加します。そうすることで、メールを送信する前に、お客様がマーケティングメールの受信に同意したことを確認できます。「メール購読者リスト管理」に記載された手順に従ってください。

[リソースタイプ] のリソースがない

このエラーは、customerorderなどのリソースのデータをワークフローで取得できるようになる前に、そのリソースが削除されたことを示しています。このエラーは、ほとんどの場合、待機ステップの後に発生しますが、トリガーイベントが発生した直後にリソースが削除された場合は、トリガーでも発生する可能性があります。

エラー発生時に通知を受け取る

エラーが発生した際にストア運営に影響が生じる場合は、エラー発生時に通知が送信されるように設定できます。エラー通知は、[ワークフローエラーが発生したとき] トリガーを使用して、他のワークフローと同じように構築できます。無駄な通知を制限するために、エラー通知は、ワークフローのバージョンごとに1件のみ送信されます。

通知を設定する際は、以下のいずれかのテンプレートを使用できます。

実行を再試行する

ワークフローの実行中にエラーが発生したり、想定どおりにワークフローが実行されなかったりする場合があります。関連するワークフローの問題をトラブルシューティングして修正したら、過去の実行を手動で再試行して、過去の実行の結果を遡って修正することができるようになります。ワークフローの実行の再試行について、詳しくはこちらをご覧ください。

Shopifyで販売を開始する準備はできていますか?

無料体験を試す