20.18 タスクの保持およびタスクのパージについて
タスクの保持、タスクのパージおよび「パージされたタスク・ファイルのアーカイブ」レポートについて説明します。
APEXでは、複合ペイロードを持つタスクを作成できます。つまり、タスク・データが急激に増加し、領域およびパフォーマンスの過負荷が発生する可能性があります。タスク・データを定期的にパージすることで、システムの過負荷を防ぎます。
タスク保持ロジック
DBMS_SCHEDULER
ジョブは、タスク・インスタンス表内のすべてのレコードをチェックするために毎日実行されます。DBMS_SCHEDULER
を実行すると、次のようになります。
- アクティブ、未割当ておよび割当て済のタスクを保持します
- 保持期間が現在の日付以前の完了タスクをパージします
- 終了済、取消済およびエラー発生のすべてのタスクをパージします
ノート:
終了済および取消済のタスクには保存期間がなく、毎日のDBMS_SCHEDULER
ジョブが実行されるまでシステムにのみ残ります。これは、終了済または取消済のタスクがタスク・インスタンス表に、24時間未満の間存在することを意味します。
「パージされたタスクのアーカイブ」レポートは、パージ対象となるタスクのJSON
ドキュメントを保存します。レポートが生成されると、パージ対象となるタスクがクリーンアップされます。
タスク保持の設定
タスクの保持ポリシーによって、完了したタスクを保持する期間が決まります。デフォルトのタスク保持期間は7日で、最大タスク保持期間は30日です。インスタンス管理者は、「インスタンスの設定」でタスクの保持期間を構成できます。詳細は、『Oracle APEX管理ガイド』のワークフロー設定の構成に関する項を参照してください。
「パージされたタスク・ファイルのアーカイブ」レポート
タスク・パージ・ジョブによってパージされたタスクのレポートは、「ワークスペース管理」にあります。詳細は、『Oracle APEX管理ガイド』の「管理サービス」の「アクティビティのモニター」ページへのアクセスを参照してください。
「パージされたタスク・ファイル」レポート領域のファイルは、30日ごとにクリーンアップされます。
- パージ前のタスクの取得
パージ前のタスクを取得するコードの例。
親トピック: ワークフローとタスクの管理
20.18.1 パージ前のタスクの取得
パージ前のタスクを取得するコードの例。
merge
into user_task_table u
using apex_purgeable_tasks t
on (u.task_id = t.task_id)
when not matched then insert
(u.task_id, u.task_type, u.subject, u.priority)
values(t.task_id, t.task_type, t.subject, t.priority);
親トピック: タスクの保持およびタスクのパージについて