古いタスクの実行 (ロボットジョブ) の自動削除

ロボットで古いタスクの実行の削除プロセスを自動化できる、3 つの事前構築済みの Python/HCL スクリプトが利用可能になりました。頻繁に実行するロボットが 1 つ以上ある場合、保存されたタスクの実行回数はすぐに累積します。オンプレミスのロボット エージェントを使用している組織では、古いタスクの実行と、関連する結果データが増大し、サーバーの空き容量が不足する可能性があります。古いタスクの実行の削除を自動化することで、絶えず手作業で削除する手間を省き、サーバーのスペースを節約し、ロボットのインターフェイスが乱雑にならないようにすることができます。

メモ

ロボットインターフェイスの一部の場所や事前構築済みスクリプトでは、タスクの実行は「ジョブ」と呼ばれます。タスクの実行とロボットジョブは同じものです。それは、ロボットのタスクの 1 回の実行のことです。

注意

事前構築済みの削除スクリプトを実行する前に、指定した入力値を慎重に確認してください。その値が組織のロボットデータに適切であることを確かめてください。入力値の指定を間違えると、意図せず現在のデータを削除してしまうことがあります。

削除は永久的なものであり、元に戻すことはできません。

スクリプトのうちの 2 つは、本番モードと開発モードの両方から対象となるタスクの実行を削除することに注意してください。スクリプトを実行するモードは、この動作に影響しません。

Diligent One アカウントの要件

事前構築済みスクリプトでは、スクリプトの入力パラメーターの 1 つとして HighBond アクセストークンが必要です。タスクの実行を削除するには、トークンに関連付けられた Diligent One ユーザーアカウントに、対象ロボットの所有者または編集者のロールが割り当てられている必要があります。

詳細については、HighBond アクセストークンの作成と管理ロボット アプリのアクセス許可を参照してください。

事前構築済み削除スクリプトの仕組み

以下のリンクから 1 つ以上の削除スクリプトをダウンロードし、各スクリプトを専用の HighBond ロボットにアップロードします。(ロボット当たり 1 つのスクリプト。)ロボットで、削除スクリプトを設定してスケジュールするタスクを作成します。設定可能なスクリプトパラメーターにより、削除するタスクの実行を指定できます。

削除ロボットとターゲットロボット

削除スクリプトを含むロボットを、削除ロボットと考えることができます。削除スクリプトの構成とスケジュールに使用するタスクが、削除タスクです。削除ロボットと削除タスクを使用して、別のロボットの古いタスクの実行を削除します。その他のロボットを、ターゲットロボットと考えることができます。ターゲットロボットの特定のタスクに対する削除を制限する場合、そのタスクをターゲットタスクと考えます。

削除ロボットや削除タスクは、必要なだけ作成できます。理解すべき重要な点は、あるロボットに削除スクリプトをセットアップし、それを使用して別のロボットの古いタスクの実行を削除するということです。

削除スクリプトはどのようなロボットのタイプにも対応します。

削除スクリプトは Python/HCL を使用して記述され、HighBond ロボットに含まれていますが、ACL ロボットを含むあらゆるタイプのロボットから古いタスクの実行を削除するために使用することができます。Python/HCL について理解していなくても、削除スクリプトを使用することができます。削除スクリプトを設定する手順を以下に示します。

HCL HighBond API メソッドと HighBond API

削除スクリプトは、HCL HighBond API メソッドと HighBond API を使用して、タスクの実行を取得し、削除します。Python/HCL の知識があれば、必要に応じて削除スクリプトの動作を変更することができます。詳細については、HCL HighBond API メソッドおよびHighBond API リファレンスを参照してください。

タスクの実行データの削除

タスクの実行を削除すると、その実行に関連する以下の結果データのみが削除されます。

  • 結果テーブル

  • 結果ファイル

  • 結果ログ

タスクの実行中に作成された Analytics データテーブルや Python/HCL 作業ファイルは削除されません。これらのテーブルやファイルは、入力/出力タブ(ACL ロボット)または作業データタブ(HighBond またはワークフローロボット)に保存され、必要に応じてこれらの場所から個別に削除することが可能です。詳細については、ロボットに保存されている作業データの管理を参照してください。

古いタスクの実行を初めて自動削除する

古いタスクの実行を初めて削除する場合には注意が必要です。古いタスクの実行が大量にあり、関連する結果データも大量にある場合、すべてを一度に削除しようとするとサーバーがダウンする可能性があります。古いタスクの実行を一括して削除するには、以下に説明するいずれかの方法を使用してください。

古いタスクの実行の数量と日付範囲を調べる

タスクの実行]グローバルビューを使用して、古いタスクの実行の数量と日付範囲を調べます。この情報は、削除スクリプトの入力パラメーターとして使用する値を決定するときに使用します。

タスクの実行]グローバルビューで、次のようにします。

  • 適切な期間となるように[トリガー時刻]フィルターを更新します。フィルターのデフォルトの初期設定は「直近の 10 日間」であり、おそらくたいていは短すぎて必要を満たせない日付範囲です。

  • ロボット名]フィルターまたは[タスク名]フィルターを使用して、ターゲットロボットまたはターゲットタスクのタスクの実行を分離します。[状態別のタスクの実行]パネルに、ロボットまたはタスクに対するタスクの実行の総数が表示されます。

  • タスクの実行]テーブルで、[完了時刻]列を並べ替えて、最も古いタスクの実行が一番上になるようにします。

詳細については、ロボットのタスクとタスクの実行の表示を参照してください。

削除タスクを手動で実行する

最初は削除タスクをスケジュールしないでください。古いタスクの実行を一括して削除するために、手動でタスクを設定し、実行します。タスクの実行を手動で一括して削除することで、削除プロセスをより短期間のセグメントに分割することができます。古いタスクの実行の大量のバックログを削除したら、削除タスクが自動的に実行されるようにスケジュールすることができます。

タスクの実行を 1 ヵ月に一度削除する

日付を基準に古いタスクの実行を削除する場合、最も古いタスクの実行日付を設定し、最も古い日付の 1 ヵ月後に削除日を設定します。手動で削除タスクを繰り返し実行し、その都度、削除日を 1 ヵ月進めます。1 ヵ月単位でタスクの実行を削除するのが比較的早い場合は、3 ヵ月または 6 ヵ月のブロック単位でタスクの実行の削除を試すことができます。

タスクの実行を一度に 50 回または 100 回ずつ削除する

実行回数を基準に古いタスクの実行を削除する場合、タスクの実行の総数を設定し、タスクの実行の最大回数をその総数より 50 回または 100 回少なく設定します。手動で削除タスクを繰り返し実行し、その都度、最大回数を 50 または 100 減らします。50 回または 100 回単位でタスクの実行を削除するのが比較的早い場合は、より大きなブロック単位でタスクの実行の削除を試すことができます。

タスクの実行を一度に 1 タスクずつ削除する

複数のタスクを含むロボットが 1 つ以上ある場合、タスクの実行の削除は、ロボット全体に対して直ちに行うのではなく、一度に 1 タスクずつ実行します。

削除スクリプトを設定する

以下の手順に従って、古いタスクの実行を自動的に削除する削除スクリプトを設定します。

  1. 1 つ以上の削除スクリプトをダウンロードする

  2. 削除ロボットを作成する

  3. 削除ロボットに削除タスクを作成してスケジュールする

削除タスクの配置

削除タスクは本番モードでも開発モードでも作成できます。削除スクリプトは、2 つのモードを隔てる境界を越えて機能するため、自分に適したいずれかのモードで削除タスクとスクリプトを配置するように選択することができます。

本番モードで削除タスクを作成する場合は、まず開発モードで削除スクリプトをアクティブ化してから本番モードに移行する必要があります。詳細については、スクリプト バージョンをアクティブ化を参照してください。

削除スクリプトのうちの 2 つは、本番モードと開発モードの両方から対象となるタスクの実行を削除します。

  • HB ロボット - robot.json から日数より古いジョブを削除します

  • HB ロボット - robot.json からジョブの数を保持します

3 番目の削除スクリプトは、ターゲットタスクが配置されているモード (本番モードまたは開発モード) から、対象となるタスクの実行を削除します。

  • HB ロボット - task.json から日数より古いジョブを削除します

3 番目の削除スクリプトの場合、削除タスクをターゲットタスクと同じモードに配置する必要はありません。しかし、そうすることで、削除タスクとターゲットタスクを明確に整理しやすくなります。

ロボットとタスクの一意な識別子を見つける

3 つのスクリプトはすべて、入力パラメーターとして対象のロボットの一意の識別子を必要とします。また、タスクレベルの削除スクリプトには、ターゲットタスクの一意の識別子も必要ですロボットで、対象のロボットまたはタスクに移動し、ブラウザーのアドレスバーにある URL から一意の識別子を取得します。

メモ

一意の識別子は、ロボットユーザーインターフェイスの[ロボットの詳細]と[タスクの詳細]サイド パネルにも表示されます。サイド パネルに表示されるロボット IDタスク ID は、削除スクリプトで必要とされる入力値ではありません

ロボットの一意の識別子

URL では、ロボットの一意の識別子はパスの production または development セグメントの直後にあります。つまり、以下の 2 つの例では、ロボットの一意の識別子は 63034 です。

https://vincicorp.robotics.highbond.com/production/63034/working-data
https://vincicorp.robotics.highbond.com/development/63034/task-runs

タスクの一意の識別子

URL では、タスクの一意の識別子はパスの tasks セグメントの直後にあります。つまり、以下の 2 つの例では、タスクの一意の識別子は最初の例では 57275、2 つ目の例では 54731 です。

https://vincicorp.robotics.highbond.com/production/63034/tasks/57275
https://vincicorp.robotics.highbond.com/development/63034/tasks/54731

1 つ以上の削除スクリプトをダウンロードする

以下にリンクされている削除スクリプトを 1 つ以上ダウンロードします。ご自分の必要に最も適したスクリプトを選択してください。必要に応じて、複数の削除スクリプトを異なる構成設定で設定できます。

  1. 以下のリンクのいずれかを右クリックして、[名前を付けてリンクを保存]を選択します。

    スクリプトのリンク スクリプトの説明

    HB ロボット - task.json から日数より古いジョブを削除します

    指定された日数より古いタスクの実行 (ジョブ) をタスクから削除します。

    ターゲットタスクが配置されているモード (本番モードまたは開発モード) から、対象となるタスクの実行を削除します。

    HB ロボット - robot.json から日数より古いジョブを削除します

    ロボット内のすべてのタスクから、指定した日数より古いタスクの実行 (ジョブ) を削除します。

    本番モードと開発モードの両方から対象となるタスクの実行を削除します。

    HB ロボット - robot.json からジョブの数を保持します

    ロボット内のすべてのタスクから、指定した実行回数以上のタスクの実行 (ジョブ) を削除します。最も古いタスクの実行から開始します。

    本番モードと開発モードの両方から対象となるタスクの実行を削除します。

  2. 削除スクリプトをコンピューターの Downloads フォルダーまたは別のフォルダーに保存します。

    削除スクリプトは JSON ファイル (*.json) としてダウンロードされます。

削除ロボットを作成する

HighBond ロボットの標準的な作成手順に従って、コンピューターからロボットに単一の削除スクリプトをアップロードします。使用する削除スクリプトを追加するごとに、追加の HighBond ロボットを作成します。

ヒント

1 つの削除ロボットで複数の削除タスクを作成し、異なるターゲットロボットや異なるターゲットタスクに対して同じ削除スクリプトを実行することができます。

ロボットを作成する

  1. Launchpad ホームページ(www.highbond.com)から、ロボット アプリを選択して開きます。

    すでに Diligent One を使用している場合は、左側のナビゲーション メニューを使用してロボット アプリに切り替えることができます。

  2. ロボットのダッシュボードから、[HighBond ロボット]タブを選択します。
  3. フォルダー内にロボットを作成したい場合は、フォルダーをクリックして開きます。

    フォルダーの作成の詳細については、ロボットフォルダーの作成と管理を参照してください。

  4. HighBond ロボットを作成]をクリックします。
  5. アイコンを選択し、ロボット名を入力します。

    ヒント

    アイコンを使用すると、簡単に識別できるグループにロボットを整理できます。

    メモ

    $ など、ロボット名のいずれの場所にも通貨記号を使用しないでください。

  6. 省略可能。[説明]フィールドで、他のユーザーがロボットの動作を理解できるよう、ロボットについて説明します。
  7. HighBond ロボットを作成]をクリックします。

    ロボット スクリプト エディターでスタートアップ処理が開始します。

    メモ

    ロボットを作成できません」というメッセージが表示された場合、ロボットの名前を別のものにする必要があります。同じ名前のロボットがすでに存在しています。

    既存のロボットに対するアクセス権限を持つコラボレーターでない場合、そのロボットは表示されません。

  8. スクリプト エディターの左上で、ロボットの名前をクリックしてから、[コミットしない]をクリックします。

    開発モードで新しく作成されたロボットの[スクリプトバージョン]タブが表示されます。

削除スクリプトをアップロードする

  1. 新しいロボットの[スクリプトバージョン]タブで、[アップロード]をクリックします。

  2. 表示されるダイアログボックスで、コンピューターから削除スクリプトを選択するか、またはそれを[アップロードされたスクリプト]領域にドラッグします。

    それぞれの削除スクリプトは、JSON ファイル (*.json) に入っています。

  3. [メッセージをコミット] を入力して、[アップロードしてコミット] をクリックします。

    スクリプトは [スクリプトバージョン] タブに最新バージョンとして追加されます。スクリプトが正常にコミットされたことを確認する通知が表示されます。

    アップロードとコミットプロセスが失敗した場合にも通知は表示されます。もう一度アップロードしてください。アップロードが再び失敗した場合は、削除スクリプトの新しいコピーをダウンロードして、その新しいコピーをアップロードしてみてください。

削除ロボットに削除タスクを作成してスケジュールする

ロボットのタスクの作成とスケジューリングの標準的な手順に従います。削除タスクは本番モードでも開発モードでも作成できます。詳細については、削除タスクの配置を参照してください。

メモ

削除タスクを作成する際に、削除スクリプトのパラメーターの 1 つとして HighBond アクセストークンを指定する必要があります。タスクの実行を削除するには、トークンに関連付けられた Diligent One ユーザーアカウントに、対象ロボットの所有者または編集者のロールが割り当てられている必要があります。

詳細については、HighBond アクセストークンの作成と管理ロボット アプリのアクセス許可を参照してください。

削除タスクのモードを選択する

削除ロボットの右上隅にある[本番]と[開発]のボタンで、使用したいモードに切り替えます。

本番モードで削除タスクを作成する場合は、まず開発モードで削除スクリプトをアクティブ化してから本番モードに移行する必要があります。詳細については、スクリプト バージョンをアクティブ化を参照してください。

タスクを作成して削除スクリプトを選択する

  1. タスク]タブで[タスクを作成]をクリックします。

    タスク デザイナーが開くので、タスクの設定の構成を始めることができます。

  2. タスクの名前を入力し、[保存]をクリックします。
  3. スクリプトを選択する]ページで、[すべて選択]を選択します。

    削除スクリプトが選択されます。

スクリプトのパラメーター値と HighBond アクセストークンを入力する

注意

入力したスクリプトパラメーター値の正確さを再確認します。ロボットやタスクの間違った識別子を入力すると、正しくない場所からタスクの実行データを誤って削除してしまう可能性があります。正しくない日数やタスクの実行回数を入力すると、現在のデータを誤って削除してしまう可能性があります。

日数またはタスクの実行回数に 0 を入力した場合、ターゲットロボットまたはターゲットタスクのタスクの実行データはすべて削除されます。

  1. 下矢印 をクリックして、パラメーターセクションを展開し、そのスクリプトの値を入力します。
  2. 他のユーザーがタスクを実行、無効化、または有効化できるようにする場合は、[パスワードを共有]をクリックします。
    • パスワード共有がオン ロボットにアクセスできるユーザーがタスクを実行、無効化、または有効化できます
    • パスワードの共有がオフ 自分だけがタスクを実行、無効化、または有効化できます

    設定に関係なく、ロボットにアクセスできる他のユーザーは、自分の HighBond アクセストークンを入力するためにタスクを編集することができます。

    詳細については、パスワード付きのスクリプトを参照してください。

  3. ページの下部で[続行]をクリックします。

タスクをスケジュールする

  1. ページの最上部で、[タスクをスケジュールに設定する]を選択します。
  2. スケジュールの詳細を指定します:
    • 頻度 タスクが繰り返し実行される間隔
    • 開始時間 タスクの実行を開始する時刻、および使用するタイム ゾーン

      開始時刻を異なるタイム ゾーンで表したい場合を除き、自分自身のタイム ゾーンを使用します。

    • 開始日 タスクの実行を開始する日付
  3. ページの下部で[続行]をクリックします。

タスクが実行していない場合にユーザーに通知する

  1. タスクが実行されない場合に 1 人以上の特定のユーザーに通知するには、[失敗に関する通知を送信する]を選択します

    有効にすると、以下のいずれかの理由でタスクが実行されない場合に、通知が自動的に送信されます

    • タスクのスクリプトが失敗する

    • タスクがスキップされる

    • タスクが手動でキャンセルされる

  2. リスト内の 1 人または複数のユーザーをクリックして選択します。

    ロボットへの十分なアクセス許可を持つユーザーのみ選択することができます。

  3. ページの下部で[続行]をクリックします。

設定をレビューし、タスクを確定する

  1. タスクに構成した設定をレビューします。
  2. 省略可能。設定を更新するには、 をクリックし、必要な変更を加えます。
  3. タスク構成の設定に満足したら、[タスクを確認し作成する]をクリックします。

    結果 指定した設定を使ってタスクが作成されます。タスクは最初にスケジュールされた発生時に実行を開始します。