JobAutoでリトライ回数に上限を設定する方法

JobAutoでエラーが発生した処理を 自動的にリトライするときに、 リトライ回数へ上限を設定する方法について説明します。

一時的な画面表示の遅れなどが原因の場合は、 同じ処理を再実行することで 正常に処理できることがあります。

ただし、 成功するまで同じ処理を繰り返す設定にすると、 エラーの原因が解消しない場合に ロボットが永遠にリトライを続ける可能性があります。

このページでは、 リトライ回数を変数で管理して上限を判定する方法と、 「アクションの繰り返し」を使って より簡単にリトライ回数を設定する方法を紹介します。

1.ブックマークとジャンプでリトライする

ブックマークとジャンプを使って、リトライのフローを作ります。

回数 上限 リトライ ロボット

値の入力アクションでエラーが発生した場合は、以下のフローを通ってリトライ。
※値の入力アクションのエラー時の設定は、条件分岐の下側のフローへ移動になっています

  1. 条件分岐の下側のフローへ進み
  2. ブックマークへジャンプアクションでブックマーク「ID入力」へジャンプ
  3. ブックマーク「ID入力」を通って再び値の入力アクションを実行
  4. 値の入力アクションが正常に実行された場合は、ブックマークへジャンプアクションでブックマークへジャンプアクション「ログインをクリック」へジャンプ

しかし、このフローだと値の入力アクションが成功するまで、永遠にリトライします。

2.リトライ回数に上限を設定する

永遠のリトライを防ぐために、リトライ回数に上限を設けるフローにします。

回数 上限 リトライ ロボット

変数の値を加工アクションを使い、リトライ回数を0にします。

値の入力アクションでのエラー時は、以下の回数に上限付きのフローを通ります。上限を超えた場合は、ロボット終了アクションでロボットの処理を終了します。

  1. 条件分岐の下側のフローへ進み
  2. 変数の値を加工アクションを使い、リトライ回数へ1を加算
  3. ブックマークへジャンプアクションでブックマーク「ID入力」へジャンプ
  4. 値の判定アクションでリトライ回数が上限を超えていないか判定
    超えていた場合は条件分岐1の下側のフローへ進み、ロボット終了アクションを実行
  5. ブックマーク「ID入力」を通って再び値の入力アクションを実行
  6. 値の入力アクションが正常に実行された場合は、ブックマークへジャンプアクションでブックマークへジャンプアクション「ログインをクリック」へジャンプ

3.「アクションの繰り返し」でリトライする【おすすめ】

リトライフローの作り方1はリトライをすることができますが、フローが煩雑です。値の判定を使って上限を超えていないかチェックしています。変数の値を加工アクションを使ってリトライ回数を加算しています。このようなフローは慣れていない人にはわかりにくいかもしれません。

そこでリトライフローをもう少し簡単に作成できる方法をご説明します。アクションの繰り返しというアクションを使います。

回数 上限 リトライ ロボット

値の入力アクションでエラーが発生した場合は、以下のフローを通りリトライします。
※値の入力アクションのエラー時の設定は、次の繰り返しへ移動になっています

  1. アクションの繰り返しへ進み
  2. 再び値の入力アクションを実行
  3. 値の入力アクションが正常に実行された場合は、ブックマークへジャンプアクションでブックマークへジャンプアクション「ログインをクリック」へジャンプ

アクションの繰り返しには繰り返す回数を設定できます。この回数を使い、リトライを行う回数を指定、リトライ回数に上限を設定できます。


リトライ回数に上限を設定する理由

エラーになった処理を ブックマークとジャンプを使って再実行するだけでは、 処理が成功しない場合に リトライを繰り返し続ける可能性があります。

そのため、 リトライ処理を作成するときは、 何回まで再試行するのか 上限を設定することも検討してください。

リトライ回数に上限を設定する2つの方法

リトライ回数に上限を設定する方法には、 主に次の2つがあります。

方法 リトライ回数の管理方法 特徴
変数と条件分岐を使う リトライ回数を変数へ保存し、エラーのたびに1を加算して上限を判定します。 変数の加工や値の判定などを組み合わせてフローを作成します。
「アクションの繰り返し」を使う アクションに設定した繰り返し回数をリトライ回数の上限として使用します。 リトライ回数を簡単に設定できます。こちらの方法がおすすめです。

変数を使ってリトライ回数を管理する

変数を使う方法では、 リトライを開始する前に リトライ回数を「0」にします。

対象のアクションでエラーが発生するたびに、 「変数の値を加工」アクションを使って リトライ回数へ1を加算します。

そのあと、 「値の判定」アクションを使って リトライ回数が設定した上限を超えていないか確認します。

リトライ回数が上限以内の場合

設定した上限を超えていない場合は、 ブックマークへ戻り、 対象のアクションをもう一度実行します。

リトライ回数が上限を超えた場合

設定した上限を超えた場合は、 リトライを続けず、 「ロボット終了」アクションで ロボットの処理を終了します。

「アクションの繰り返し」でリトライする【おすすめ】

リトライ回数をより簡単に設定する場合は、 「アクションの繰り返し」を使用します。

「アクションの繰り返し」には、 後続のアクションを繰り返し実行する回数を設定できます。

この繰り返し回数を リトライ回数の上限として使用することで、 リトライ回数を管理するための変数の加算や 上限判定のフローを簡略化できます。

エラー時は「次の繰り返しへ移動」にする

「アクションの繰り返し」を使ってリトライする場合は、 リトライ対象となるアクションの エラー発生時の処理を確認してください。

このページの例では、 値入力アクションでエラーが発生した場合に 「次の繰り返しへ移動」するよう設定しています。

エラーになった処理の後続アクションは実行せず、 次の繰り返しへ進み、 対象の値入力をもう一度実行します。

処理に成功した場合はリトライを続けない

対象のアクションを正常に実行できた場合は、 後続の「ブックマークへジャンプ」を使って リトライ処理の外へ進みます。

これにより、 正常に処理できたあとも 設定した回数まで不要なリトライを続けることを防ぎます。

上限なしのリトライとの違い

設定 動作
リトライ回数に上限なし 対象の処理が成功しない場合、同じ処理を繰り返し続ける可能性があります。
リトライ回数に上限あり 設定した回数まで再試行し、上限に達した場合はリトライを終了できます。

前の記事「分岐とブックマークでリトライ」との違い

記事 確認する内容
分岐とブックマークでリトライ エラーになった処理を待機後に再試行する基本的なリトライ方法を確認します。
回数に上限を設けてロボットの処理をリトライ リトライを無限に続けないように、再試行する回数へ上限を設定する方法を確認します。

リトライ処理を作成するときの確認ポイント

  1. どのアクションをリトライするのか
  2. リトライする回数の上限をいくつにするのか
  3. 対象アクションでエラーが発生した場合にどの処理へ進むのか
  4. 上限へ達した場合にロボットをどのように終了するのか
  5. 「アクションの繰り返し」を使ってフローを簡略化できないか
  6. 処理が成功した場合にリトライ処理から正しく抜けられるか

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。