5

実行時間が長い azure 関数アプリがあります。HTTP 経由で (簡単にするために) いくつかの入力と出力なしでトリガーしたいと思います。ジョブの実行中ずっと HTTP 接続を開いたままにしたくありません。

ランタイムが一部のデータを受け取り、run.csx ファイルを呼び出す前にすぐに呼び出し元に制御を返す関数アプリを構築するためのオプションは何ですか?

4

1 に答える 1

9

http 関数が作業要求を受け入れて検証し、別の関数がリッスンしている作業キューにメッセージをエンキューする設計をお勧めします。したがって、http トリガー テンプレートから開始し、キュー出力バインディングを追加します。

このようにして、リクエストはすぐに返され、実行時間の長い作業はキューでトリガーされた関数のコンテキストで実行できます。利点の 1 つは、キュー トリガーの再試行動作を無料で取得できることです。たとえば、長時間実行されているタスクが途中で失敗した場合、メッセージはしばらくしてから再処理されます (キュー メッセージは、正常に処理された後にのみキューから削除されます)。

また、分離により、将来、作業のスケジュール方法の選択肢が増えます。たとえば、http 要求を必要とせずに、将来的に別の関数のキュー出力を介して作業を開始することができます。

于 2016-06-30T15:14:19.510 に答える