問題タブ [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 - Azure WebJobs - 非同期メソッドを使用できますか?
Azure WebJobs SDK が非同期メソッドをトリガーできるかどうか疑問に思っていましたか? 現在、次のようなメソッドがあります。
ただし、代わりに非同期メソッドを呼び出すことを JobHost に知らせることができるかどうか疑問に思っていましたか? Web ジョブで async/await を使用しようとすることに関するドキュメントはそれほど多くありません。
これをローカルで実行してテストしようとしていますが、WebJobs SDK はローカル ストレージ エミュレーターをサポートしていません...
2014 年 4 月 7 日更新: ビクターの答えは正しいですが、WebJob で非同期メソッドを使用することで何がわかるかを示したいと思いました (動作します)。
次のような WebJob のメソッドの場合:
WebJobs ログに次の出力が表示されます。
azure-webjobs - WebJobs SDK を拡張することはできますか?
Azure WebJobs SDK を拡張する方法はありますか? ジョブ機能をトリガーするために、キュー、BLOB、またはテーブル以外の何かが必要な場合。
azure-webjobs - Azure Webjobs - app.config で QueueName トリガーを定義する
Azure Webjobs 3.0.0 SDK の新しいリリースでは、http: //azure.microsoft.com/blog/2014/06/18/announce-the-0-3-0-beta-preview-of- microsoft-azure-webjobs-sdk/
関数検出の改善
ITypeLocator と INameResolver を追加して、WebJobs SDK の機能の外観をカスタマイズできるようにしました。これにより、次のようなシナリオが可能になります。
- QueueName が明示的でない関数を定義できます。構成ソースからキュー名を読み取り、実行時にこの値を指定できます。
- 関数の検出を特定のクラスまたはアセンブリに制限します。
- インデックス作成時の動的関数: 実行時に関数シグネチャを定義できます。
しかし、それを行う方法に関するサンプルコードはありません。
実行時にキュー名を定義する方法を知っている人はいますか (たとえば、app.config から)。
azure - 最新の Web ジョブ更新 0.3.0 の後、ストリームを BLOB に出力できません
私は紺碧のWebジョブを使用しており、ジョブの出力として、このようなブロブにストリームを書き込みます
今のところ問題なく動いていましたが、verにアップデートしてから。0.3.0、これでバインド例外が発生します。それはうまくいくはずですか、それとも ICloudBlobStreamBinder を実装するための方法ですか?
ここのサンプルを見るhttp://azure.microsoft.com/blog/2014/06/18/announce-the-0-3-0-beta-preview-of-microsoft-azure-webjobs-sdk/入力と出力の両方がブロブです。しかし、私の状況では、トリガーとしてキューからメッセージを取得します。
azure - Azure Web ジョブ機能の状態が未完了です
Azure で Web ジョブを作成しました。Web ジョブは、継続的に実行されるタイプです。キューにメッセージがある場合に呼び出される Web ジョブ機能です。Azure ストレージ エクスプローラーまたは mvc Web アプリのいずれかを使用してキューにメッセージを追加することで、Web ジョブ機能を呼び出すことができます。
Web ジョブは、ローカルでコマンド ラインを実行して作業を実行するのに約 1 時間かかるコンソール アプリケーションです。Web ジョブを呼び出すと、正常に開始されましたが、しばらくすると (約 5 ~ 10 分)、Web ジョブ ログで関数の呼び出しステータスが "Never Finished" になっています。
だから私の質問は次のとおりです: -
1) この問題は長時間実行されているタスクによるものですか。
2) この問題は、処理中のエラーによるものですか (ただし、ローカルで実行できます)。
3) Web ジョブによって追加されたデータベースからレコードを削除すると、Web が再び開始されたことがわかります。なんで?
4) プロセスの完了後にキューからメッセージを削除する必要がある場合は?
これは、Web ジョブから呼び出される私のコード スニペットです。
}
編集:-
Azureで次のエラーが発生しています..
[07/10/2014 15:50:52 > 32a9e0: エラー] 未処理の例外: Microsoft.WindowsAzure.Storage.StorageException: リモート サーバーがエラーを返しました: (404) 見つかりません。---> System.Net.WebException: リモート サーバーがエラーを返しました: (404) 見つかりません。
[07/10/2014 15:50:52 > 32a9e0: エラー] System.Net.HttpWebRequest.GetResponse() で
[07/10/2014 15:50:52 > 32a9e0: エラー] Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T] (RESTCommand`1 cmd、IRetryPolicy ポリシー、OperationContext operationContext) で
[07/10/2014 15:50:52 > 32a9e0: ERR] --- 内部例外スタック トレースの終了 ---
[07/10/2014 15:50:52 > 32a9e0: エラー] Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T] (RESTCommand`1 cmd、IRetryPolicy ポリシー、OperationContext operationContext) で
[07/10/2014 15:50:52 > 32a9e0: エラー] Microsoft.WindowsAzure.Storage.Queue.CloudQueue.UpdateMessage (CloudQueueMessage メッセージ、TimeSpan visibilityTimeout、MessageUpdateFields updateFields、QueueRequestOptions オプション、OperationContext operationContext) で
[07/10/2014 15:50:52 > 32a9e0: エラー] Microsoft.Azure.Jobs.UpdateQueueMessageVisibilityCommand.TryExecute() で
[07/10/2014 15:50:52 > 32a9e0: エラー] Microsoft.Azure.Jobs.LinearSpeedupTimerCommand.Execute() で
[07/10/2014 15:50:52 > 32a9e0: エラー] Microsoft.Azure.Jobs.IntervalSeparationTimer.RunTimer (オブジェクトの状態) で
[07/10/2014 15:50:52 > 32a9e0: エラー] System.Threading.TimerQueueTimer.CallCallbackInContext (オブジェクトの状態) で
[07/10/2014 15:50:52 > 32a9e0: エラー] System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext、ContextCallback コールバック、オブジェクトの状態、ブール値の preserveSyncCtx) で
[07/10/2014 15:50:52 > 32a9e0: エラー] System.Threading.ExecutionContext.Run (ExecutionContext executionContext、ContextCallback コールバック、オブジェクトの状態、ブール値の preserveSyncCtx) で
[2014 年 7 月 10 日 15:50:52 > 32a9e0: エラー] System.Threading.TimerQueueTimer.CallCallback() で
[2014 年 7 月 10 日 15:50:52 > 32a9e0: エラー] System.Threading.TimerQueueTimer.Fire() で
[2014 年 7 月 10 日 15:50:52 > 32a9e0: エラー] System.Threading.TimerQueue.FireNextTimers() で
[2014 年 7 月 10 日 15:50:52 > 32a9e0: エラー] System.Threading.TimerQueue.AppDomainTimerCallback() で
[2014 年 7 月 10 日 15:50:52 > 32a9e0: 情報] ................................... ................................................................... ................................................................... ................ [07/10/2014 15:50:52 > 32a9e0: SYS ERR] 終了コード -532462766 が原因でジョブが失敗しました
[07/10/2014 15:50:52 > 32a9e0: SYS INFO] プロセスがダウンし、0 秒間待機しました
[07/10/2014 15:50:52 > 32a9e0: SYS INFO] ステータスが PendingRestart に変更されました
[07/10/2014 15:50:57 > 32a9e0: SYS INFO] スクリプト ホスト - 'WindowsScriptHost' でスクリプト 'Scheduler.exe' を実行します
[07/10/2014 15:50:57 > 32a9e0: SYS INFO] ステータスが実行中に変更されました
エラーを見て、コンソールアプリから同じ機能をローカルで実行しようとしましたが、その機能は機能します.複数回実行した後、機能が正確に5分間実行されていることがわかりました.Webジョブで関数を実行する時間が拘束されている場合.
ありがとう。
azure-webjobs - Azure WebJobs 0.3 Beta で BlobTrigger がジョブを複数回トリガーする
WebJobs 0.3 ベータ版にアップグレードした後、BLOB がストレージにポストされると、Azure WebJobs が (BlobTrigger を入力として) メソッドを複数回呼び出します。これは、コンソールでローカルにテストする場合と、Azure でテストする場合の両方で発生します。私の場合、BlobTrigger を取得してから、次のようにキューに投稿しています。
キューは 2 つのメッセージを取得しており、webjobs azure ダッシュボードでは、関数が 2 回呼び出されていることを示しています。
どうしてこれなの?
azure - IBinder を使用してブロブを削除する webjobs
わかりました。webjobs SDK はまだベータ版ですが、かなりクールです。バインドしている実際のオブジェクトに到達するという点では、IBinder に少し苦労しています。当たり前かもしれませんが、もしそうなら許してください...
Webジョブで送信するメールを処理しています。それらはキューに入れられ、イベントをトリガーします。このコードは機能します..しかし、結果のブロブにアクセスして、成功した場合は削除し、失敗した場合は移動できると考えずにはいられません。
コードは次のとおりです。
ご覧のとおり、blob のコンテンツを bind.Bind ピースで取得できますが、それを削除するには接続全体を行う必要があります..それは正しくありません..できますか?