エラー処理機能によって、予期せぬエラーを効果的に扱うことができます。シナリオを構築している時、新しいルートを追加のロジックとフィルターとともに各モジュールに追加することも可能です。それによって、シナリオ実行中に起こりうるエラーを解決できます。特別なディレクティブをシナリオに追加することで、エラー発生時に残りのプロセスをどのように実行するか決定できます。
この画像は、シンプルなシナリオの実行中にエラーが起きたケースです。
この例は、RSSフィードから画像をダウンロードしてFTPサーバーにアップロードするシナリオです。RSSモジュールは3件の結果を返却しています。しかし、シナリオは2件目で失敗しています。
トリガーがエラーの場合かつ、エラー処理が組み込まれていない場合、トリガーはどこまで処理が進んだかを更新せず、データが失われる可能性があります。
トリガーが複数のデータを同時に処理する方法に関する詳細は、トリガーのページでご確認いただけます。
無視するというディレクティブを使う場合、Integromatはエラーを無視し、エラーの原因となったRSSフィードをスキップします。その後、シナリオはそのまま継続し、待機中のデータを処理します。結果、3件中2件がFTPサーバーにアップロードされます。
エラー制御を入れているので、シナリオは問題なく完了し、トリガーは後続データに移行できます。次回シナリオを実行する時は、新規実行となります。
エラー制御用ルートはディレクティブだけでなく、モジュールも含まれるでしょう。いくつかのモジュールを追加することで、エラー発生時に(正常系とは)異なるロジックを実行できます。画像にあるように、最初のHTTPモジュールがエラーになった時、別のHTTPモジュールを実行できます。また「再開」ディレクティブを追加すると、シナリオはエラー発生ポイントに戻り、エラーが発生しなかったかのように振る舞います。
データの冗長化を例に取ると、プライマリが失敗してもセカンダリにデータを保存することができます。
ディレクティブ「ブレーク」を使うと、シナリオの実行を止めることができます。よって、エラーを手動で修正できます。未完了の実行は「Incomplete executions(未完の実行)」項目に保存されます。そこから、シナリオを修正し、エラーなしで実行できます。
その他オプションとして、任意のインターバルで実行を完了するようIntegromatを設定することもできます。実行が成功しなかった場合システムから通知があるので、手動でエラーを修正できます。
Integromat日本コミュニティへの参加はこちらから