問題タブ [azure-durable-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Azure Durable Functions のアクティビティ関数でのタイムアウト
私の活動機能では、私はこれをやっています
どこ、
getStatus()
get
他サービスの処理が完了したかどうかをリクエストし、これに基づいてtrue
orを返す関数です。false
他のサービスのプロセスが完了する前にアクティビティ関数を待機させる必要があります。ただし、アクティビティ関数の実行はデフォルトで 5 分に制限されています。さまざまなシナリオに基づいてgetStatus()
、返品に 2 ~ 3 時間以上かかる場合がありますtrue
。
ここで何ができますか?何かアドバイス?
c# - アクティビティ関数でエラーが発生すると、サービスバス キューからのメッセージが消える
新しい Servicebus キュー メッセージでトリガーする Azure Durable Functions アプリを開発しました。エラーが発生しない場合は問題なく動作しますが、アクティビティ関数でエラーが発生した場合は、失敗したことをログに記録しますが、メッセージはキューから永久に削除されます。何が原因で、メッセージがエラーでキューから消えないようにするにはどうすればよいですか?
これは再現可能なコードです。VS2017 の新しい Azure 関数テンプレートから生成されたコードです。都市が "Seattle" の場合にのみ例外が追加され、HttpTrigger ではなく ServicebusTrigger です。
更新: オーケストレーション クライアント関数に例外がある場合、再試行が x 回失敗した場合、再試行してデッド レター キューにメッセージを入れるなど、正しいことを行います。
そのため、このwhileループでクライアント関数を更新し、失敗/終了/キャンセルのステータスをチェックすることで、これを回避することができました。
しかし、私にはハックのように思えます。このタイプのコードは、MS のサンプル コードでは見たことがありません。これは、Durable Functions フレームワークで処理する必要があると思います。servicebus トリガーを耐久性のある関数で機能させる別の方法はありますか?