1.8. 不要になったイベントについて

1.8.1. 状況の整理

ルールに複数の条件を設定した場合のイベントのTTL問題について で、後続のイベントが発生するまでTTLを十分な長さにする必要性に触れました。
ここでは、TTLを長く設定したイベントが不要になった場合を考えてみましょう。
例えば今回のシナリオでは、必要に応じてOASEを介さず、手動で問題に対処しSorry画面からの切り戻しが行われる場合、Sorry画面表示の結論イベントは不要となります。
この場合、実際は不要となっていても、OASE上ではTTLが経過するまで、そのイベントはルールの評価対象として残ってしまいます。
ルールの設定によっては、後続のイベントが発生したときに、この不要となったイベントも評価対象とされ、実際の状況に合わない形でアクションが実施されてしまう危険も出てきます。
では、不要となったイベントを評価対象から外すにはどうすればよいのか、考えてみましょう。
結論から述べると、よりTTLが短いイベントに置き換えることで、不要なイベントをTTL切れにすることが可能です。
よりTTLが短いイベントに置き換えるには、元のイベントを検知するフィルターを条件にしTTLを最小値に設定した新たなルールを設定します。

1.8.2. ルールの設定

では、Sorry画面からの切り戻し実施 (解答) のシナリオをもとに、TTLが短いイベントに置き換えるルールを作成してみましょう。
今回のシナリオでは、Sorry画面表示の結論イベントが不要となったという想定のもとで設定をします。

1.8.2.1. ルールの設定

Sorry画面表示の結論イベントを検知するフィルターは、「sorry_switch」です。
このフィルターを条件として、TTLを最小値に設定したルールを作成します。
ルールに複数の条件を設定した場合のイベントのTTL問題について では、TTL切れを防ぐ方法として以下の二つの方法を提示しました。
  1. TTLをできるだけ長くする

  2. TTLが過ぎたら、改めて、同じラベルが付与された結論イベントを発生させる

2.では、Sorry画面表示の結論イベントを発生させ続けるための「sorry表示中」というルールを新たに設定しましたが、そのイベントを発生させ続ける必要はなくなりました。
まずは、イベントの発生を止めましょう。
イベントの発生は、ルールを「false」にするか、ルール自体を廃止することで止められます。
ただルールの設定には、他のルール(「false」と設定したものを含む)とまったく同じ条件でルールを作成することはできないという仕様があります。
これから作成するルールと、「sorry表示中」というルールの条件が被ってしまいますので、今回は「sorry表示中」というルールを廃止しましょう。
ルールの廃止は、OASE ▶ ルール ▶ ルール から以下のように設定します。
ルール廃止
また、今回作成するルールで対象となるイベントにすぐに適用されるように、「Sorry画面切り戻し」のルールは、「false」に設定しましょう。
今回は、以下のような設定でルールを作成します。
表 1.73 ルールの設定値

有効

ルール名

ルールラベル名

優先順位

条件

アクション

結論イベント

フィルターA

アクションID

元イベントのラベル継承

結論ラベル設定

TTL

アクション

イベント

True

kill_event

kill_event

1

sorry_switch

True

False

["event_status", "==", "termination"]

10

Tip

ルール名やルールラベル名は任意で設定可能です。わかりやすいものを設定しましょう。
必要な結論イベントを発生させるためのルールなので、選択するアクションはありません。
結論ラベルは、イベントが判別しやすいものを設定しましょう。

1.8.2.2. 結果の確認

ではルールの設定から結論イベントが発生するまでを、イベントフロー 画面から確認してみましょう。
OASE ▶ イベント ▶ イベントフロー の画面では、時系列に沿ってイベントが発生している様子を確認できます。
TTLが短い結論イベントに ルール で設定したラベルが付与されていることも確認しましょう。
イベントフロー_結論イベント