「Google スプレッドシート: 行追加」でエラーが発生する

回答済み

コメント

3件のコメント

  • Avatar
    Hirotaka NISHI (Questetra Support)

    (Advanced 以上のワークフロー基盤に)標準で組み込まれている「Google スプレッドシート: 行追加」を利用していて、エラーが発生するということですね。

    この自動処理工程では、Google Sheets API v4 が利用されています。
    「500 エラー」が発生しているとのことで、インターネットで検索したところ、次のような情報がありました。

    https://tk-thunder.hateblo.jp/entry/2019/09/10/091125
    https://stackoverflow.com/questions/44058801/getting-500-error-consistently-on-google-sheets-api

    Google スプレッドシート側で「円グラフ」や「ピポットテーブル」があると API が正常に応答しないケースがあるようです。今回のケースに当てはまるかどうかはわかりませんが、一度ご確認ください。

     

    以下、一般的な内容とはなりますが、自動処理工程におけるエラー発生時の対応について記載します。

    ◆ 問題解決の糸口となる情報

    エラー通知メールや個々のプロセスの自動処理ログ以外に、次の情報が原因究明の手掛かりになる場合がございます。

    • 相手側サービスの情報
      今回の場合は、Google の API ダッシュボード
      https://console.cloud.google.com/apis/dashboard
    • 対象工程(ノード)の一連の自動処理ログ
      .../PMM/ProcessModel/{アプリID}/Node/{ノード番号}/view
      アプリ詳細画面 > ワークフロー図 > 対象工程のプロパティ > 右上の虫眼鏡アイコン、から表示可能

    例えば、相手側サービスのレスポンス遅延が大きい時間帯にエラーが多かった場合は、レスポンス遅延の影響によりエラーが発生した可能性が高いです。
    (Questetra の自動処理工程は、30秒でタイムアウトとなります。)


    ◆ エラーへの対応方法

    エラー発生時に「何もしない」というのもひとつの対応策ではありますが、「エラー境界イベント」を利用すれば、エラー発生時の処理フローを分けることが可能です。

    エラー境界イベントからのフローの接続先をヒューマンタスクにすれば、エラー発生時は人が確認して、内容に応じた対応を行うことができます。一方で、自動処理工程を再処理するようにフローを接続すれば、エラー発生時に自動的に再処理を行うことも可能です。

    ただ、相手側サービスがトラブルの場合などは、再処理を行っても常にエラーとなってしまう可能性もあるので、「一定時間後に繰り返す」「繰り返し回数に上限を設定」といったアイデアもご検討ください。

    0
    コメントアクション パーマリンク
  • Avatar
    品川 武志

    返信ありがとうございます。

    残念ながら、グラフは一切使っていないスプレッドシートでした。また、自動処理ログを確認しましたが、投稿した内容と同じでした。GoogleのAPIダッシュボードは私ではない別のユーザーなので後日確認してみます。

    今回は、エラー境界イベントを使って下記にように対応しようと考えています。ここからもう少しエラーが発生する条件を詳しく分析していきたいと思います。

     

    1
    コメントアクション パーマリンク
  • Avatar
    Hirotaka NISHI (Questetra Support)

    グラフは利用していない、とのこと承知いたしました。
    検索した情報は直接の原因ではなさそうですね、、、
    (相手があることなので、なかなか原因の特定がムズカシイですね)

    また、「エラー境界イベント」を利用した対応を検討いただき、ありがとうございます。
    問題(エラー)自体をなくす対応ではありませんが、ワークフロー全体で見たときにはエラー時の対応が追加された形になりますね。

    (クエステトラ社でも、多くの場合、エラー時再処理の仕組みによって対応しております。)

     

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。