問題タブ [azure-webjobssdk]
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.
azure-webjobs - Azure Webjobs SDK とキュー処理エラー
Web サーバーのデータをチェックする Web ジョブに取り組んでいます。Web サーバーがビジーで、数秒後に再試行することがあります。
問題は、それを無視して関数を通過すると、キューからメッセージが削除され、呼び出しを再試行できないことです。
私の現在の解決策 (私はまったく好きではありません) は、dequeque 番号を増やしてメッセージをキューに戻す例外を使用することです。ただし、これは非常に残忍なようで、Web ジョブが実行されているスレッドを再起動する必要があります。
これを処理する他の方法はありますか?
powershell - PowerShell 自動化を使用して Azure WebJob をデプロイする
Azure PowerShell SDK または REST API を使用して Azure WebJob をデプロイしようとしていますが、WebJob のデプロイのサポートを見つけることができません。VS または Azure Management Portal の UI を介して行うのは非常に簡単ですが、自動化のサポートはあまりないようです。
一部のサイトによると、関連付けられた Web ジョブを使用して Azure Web サイトを展開すると、Web ジョブが自動的に展開されるはずですが、VS で Web プロジェクトを発行したときにそれが発生することはありません。ビットが TFS を介してコンパイルされた後に機能します。
従おうとしたが、うまくいかないように思われるいくつかの優れたリソースを見つけました: http://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/ #deploy http://azure.microsoft.com/blog/2014/08/18/enabling-command-line-or-continuous-delivery-of-azure-webjobs/ 残念ながら、この自動化をスタンドアロンのデプロイに統合する必要がありますオーケストレーションなので、MSBuild に関連付けることはできません。
可能であれば、Azure Web サイトと WebJob の両方を一緒に展開できれば幸いです。ポータルを介してできるように、WebJob 実行可能ファイルを含む zip ファイルの Web サイトへのアップロードを自動化する方法が必要だと思いますが、見つけられませんでした。
azure - Azure Webjobs: 複数の関数を持つ 1 つのジョブ、またはそれぞれ 1 つの関数を持つ複数のジョブ?
それぞれ 1 つの機能を持つ複数の Web ジョブを作成するか、複数の機能を 1 つまたは少数の Web ジョブにバンドルするかをどのように決定すればよいですか? ありがとう
azure-webjobs - 非同期時に Azure WebJob が正しく失敗しない
バックグラウンド タスクを処理するために Web ジョブの使用を開始しましたが、エラー処理と再試行に関して問題が発生しています。私の関数のいずれかが非同期である場合、関数内で例外をスローしても、関数は常にダッシュボードで成功を報告しているようです。
次の簡単な例を考えてみましょう ->
上記のコードは、期待どおりに動作します。メッセージがキューから取り出され、例外がスローされ、WebJobs ダッシュボードで失敗が報告され、メッセージが再度キューに入れられます。これが 5 回発生すると、メッセージは有害なキューに格納されます。
しかし、同様の機能を試みたが、以下のように非同期にした場合->
結果は期待どおりではありません。メッセージはキューからポップされ、例外がスローされますが、ダッシュボードは成功を報告し、何も再試行されません。さらに、これらのケースでは、ダッシュボードが成功を報告しているように見えますが、次のログに示すように、例外がこの世界の終了コードでプロセスをクラッシュさせ、60 秒待ってから再起動しているようです ->
[11/11/2014 06:13:35 > 0dc4f9: 情報] 実行中: 'Functions.AlwaysFail' 'alwaysfail' で新しいキュー メッセージが検出されたため。[11/11/2014 06:13:36 > 0dc4f9: エラー] [11/11/2014 06:13:36 > 0dc4f9: エラー] 未処理の例外: System.InvalidOperationException: 誘発されたエラー [11/11/2014 06:13 :36 > 0dc4f9: ERR ] at Plmtc.BackgroundWorker.Functions.d__2.MoveNext() [11/11/2014 06:13:36 > 0dc4f9: ERR ] --- 例外がスローされた前の場所からのスタック トレースの終わり - -- [11/11/2014 06:13:36 > 0dc4f9: ERR] System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__5(オブジェクト状態) [11/11/2014 06:13:36 > 0dc4f9: ERR] システムで.Threading.QueueUserWorkItemCallback.WaitCallback_Context(オブジェクトの状態) [11/11/2014 06:13:36 > 0dc4f9: ERR] System.Threading.ExecutionContext で。
ダッシュボードで非同期関数を失敗させて、POCO クラスをパラメーターとして取り、メッセージに単純な文字列のみを含める関数を作成する唯一の方法です。このような場合、関数のコードに到達する前に、メッセージ/パラメーターのバインド中にエラーが発生しています。
これらの問題なしに、非同期関数を使用してキュー トリガーに応答することに成功した人はいますか?
multithreading - QueueTrigger を適切に延期する
現在、WebJobs SDK を使用して、キューで発行されたメッセージを消費しています。
[Microsoft.Azure.WebJobs.QueueTrigger(...)] 属性を持つ 1 つのパラメーターとしての私のメソッドは、問題なくトリガーされます。状況によっては、このメソッドでメッセージを処理できますが、重要なリソースが利用可能になるまでメッセージを拒否することをお勧めします。
この場合、例外をスローしようとしましたが、参照が言うこととは反対に、キュー トリガーがすぐに再起動されます (リース時間を待っていないようです)。
メッセージ処理を適切に延期する方法はありますか? 重要なリソースを待っているスレッドをフリーズするだけで安全でしょうか?
どんなヒントでも大歓迎です。
.net - Azure WebJob QueueTrigger メッセージがキューから削除されない
1.0.0 WebJobs SDK を使用して WebJob を継続的に実行しています。
ここに構成コードがあります。
これが私の職務署名です。
関数を正常に実行した後、メッセージがトリガー キューから削除されることを期待しています。しかし、関数を複数回実行しています。
ロギングは、nextVisibleTime ごとに実行され、dequeueCount が毎回増加していることを示しています。
UPD: 関数の実行後にエラーが発生したようです。Webjob ダッシュボードからのログは次のとおりです。
asp.net-mvc-5 - Web ジョブと SignalR ハブ間の通信
次のシナリオがあります。
- Azure Web ジョブ (メールの送信に使用) があり、Web アプリケーションで Web ジョブの進行状況を確認する必要があります。
- サーバーからクライアントと通信するために SignalR を使用しています。
- メールを送信したいときは、キューにメッセージをプッシュすると、azure Web ジョブがその仕事をしてくれます。
問題は、Web ジョブの進行状況をクライアントに伝えるにはどうすればよいかということです。もともと私の考えは、ハブがキューからメッセージを読み取ることができるように、Web ジョブからメッセージをプッシュすることでした。次に、ハブからクライアントに通知します。ただし、Web ジョブとハブを通信する方法を見つけることができません。メッセージがキューまたはサービス バスにプッシュされたときに、ハブでアクションをトリガーする方法がわかりません。つまり、ハブをキューの特定のメッセージにサブスクライブする方法がわかりません。
誰かがそれを手伝ってくれますか?
azure - Web ジョブが例外をスローせずに終了するのはなぜですか?
私の azure webjob は、例外をスローせずに終了しているように見え、迷ってしまいます。
Web ジョブはオンデマンド (またはスケジュール) で実行され、Web サイト DLL (および MVC アプリ) に依存しています。これを呼び出して、エンティティ フレームワーク データベースの操作や他のいくつかのサイトへの REST 呼び出しなど、ほとんどの作業を行います。ほとんどの作業は非同期で行われます。この作業を行うために使用されるコードのほとんどは、問題なくサイトの他の部分からも呼び出されます。言うまでもなく、Web ジョブはローカルで実行すると問題なく動作します。
Web ジョブは終了し、終了しても例外がスローされないようであり、継続的に実行される種類 (?) ではない Web をデバッグすることはできないようです。そのため、私のデバッグは主に Console.WriteLine の種類のものでした。それと非同期性のため、クラッシュしている場所を正確に突き止めることができませんでした-データベースへのアクセス中に発生したと思っていましたが、それをいじった後、データベースへのアクセスが機能し始めました..うーん。私の次善の策は、待機中またはその他の非同期配管中に死ぬことです。ただし、最終的に結果を redis と Azure ストレージに記録する 2 つの try/catch ブロック内でクラッシュします。それは起こりません。例外ハンドラにヒットせずにこのプロセスがどのようにクラッシュするかを理解または想像することはできません..?
Azure Webjobでこの問題が発生した人はいますか? 何を探すべきか、これをデバッグするためのヒントはありますか?
ありがとう!
c# - NoAutomaticTrigger タイプのジョブの継続的な Azure WebJob が停止しているときの通知
全て、
既存のワーカー ロール コードを Azure Web ジョブに移行しています。Azure Web サイトと完全に統合するために、WebJob SDK (1.0) を使用しようとしています。
難しいのは、JobHost が、通常の属性ベースの呼び出しオプション (キュー、ブロブなど) の外にあるジョブでうまく動作しないことです。
Azure キュー/トピックなどをリッスンするように変更できない標準コードが既にあるため、Web ジョブ コードを使用してこれを行うことはできません。
したがって、WebJob Call メソッドを使用する必要があります。
NB:ライブラリを使用するときにすべてのアドバイスはConfigureAwait(false)を使用することですが、JobHostの内部ではこれを行わないため、独自のCallAsyncを使用していますが、ConfigureAwaitを使用して「呼び出し」コードを複製しています。私が知る限り、キャンセル トークンは JobHost では何もしません。
私の問題は、次に host.RunAndBlock(); を呼び出す必要があることです。これは問題ありませんが、クリーンアップ処理を実行する必要があります。ホストが既にキャンセルされているため、OnStop メソッドを使用して "CallAsync" を新たに呼び出すことはできません。そのため、できることは OnStop メソッドを直接呼び出すことだけです。残念ながら、提供された TextWriter クラスを介して WebSite ログに書き込むことができなくなります。
私が必要としているのは、JobHost が RunAndBlock 内でメソッドを呼び出す方法だと思います。そのため、ホストがシャットダウンしているときに発行されたキャンセル トークンを取得して、クリーンアップ コードを実行できます....しかし、ないようですこれを行う方法。
私が行方不明になっている明らかな方法はありますか?JobHost は、標準外のシナリオを処理するのが本当に苦手なようです :(