問題タブ [azure-webjobs]
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 で Web サイトを公開すると、Web ジョブが削除される
複数の Web ジョブを作成した既存のサイトでサイトを公開すると、サーバー上のすべてのファイルが削除され、すべての Web ジョブが削除されます。
これは、Web ジョブが App_Data フォルダーに格納されているためだと思います。APP_Data ディレクトリが削除されると、ジョブが削除されます。
パブリッシュ時に app_data フォルダーを削除しないようにするにはどうすればよいですか?
c# - スケジュールされた Azure WebJob ですが、NoAutomaticTrigger-Method が呼び出されていません
この質問は次の質問に関連しています: Running Azure WebJob without queue
私のシナリオ: 1 時間ごとにファイルを BLOB ストレージに書き込みたいだけで、キュー システムは必要ありません。前の質問から、このコードを取得しました。これは、最初にトリガーされたときに正常に機能しました。
Web サイトは「AlwaysOn=true」で実行されており、Web ジョブは常に「実行中」ですが、スケジューラは次のエラーをスローし、何も起こりません:「ジョブが既に実行されているため、新しい実行を開始できません。」
現在の結果は、ファイルが一度だけ書き込まれるということです。「AlwaysOn」をfalseに切り替えると「機能します」が、Always on the jobの結果が「Aborted」にならないため、汚れているように見えます。
json - Azure WebJob SDK で依存関係の競合を解決するにはどうすればよいですか?
Azure WebJob SDK (v 0.3.1) を試しています。すべてをパッケージ化してアップロードしましたが、ダッシュボードに次のエラーが表示されます。
「未処理の例外: System.IO.FileLoadException: ファイルまたはアセンブリ 'Newtonsoft.Json、Version=4.5.0.0、Culture=neutral、PublicKeyToken=30ad4fe6b2a6aeed' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義が一致しません。アセンブリ参照。(HRESULT からの例外: 0x80131040)"
Newtonsoft.Json
これは、WebJob SDK で参照されているよりも新しいバージョンの がアプリで参照されていることを意味すると理解しています。app.config
ただし、 exeに関連付けられた依存関係バインディングリダイレクトを追加しようとしましたが、これはエラーを変更しません。config がまったく使用されていないと思われます。と の両方に直接次のバインディングがありjob.blah.exe.config
ますweb.config
。
Newtonsoft.Json は両方のプロジェクトで v6.0.0.0 です。
この問題を解決する最善の方法は何ですか?
azure - Azure Webjobs - パラメーターを使用してメソッドを呼び出し、バインディングを呼び出す
私は Web Jobs SDK でもう少し遊んでいます。スケジューラを介してメソッドを呼び出すだけで、ストレージに 1-n 個のファイルを書き込む必要があります。WebJobs SDK の優れた点は、Azure Storage SDK を含める必要がなく、すべてが "バインド" されていることです。ファイル名を指定すると機能しますが、「WriteCustomFile」メソッドは「{name}」というファイルを書き込むだけです
コード:
私が達成したいのは、特定のファイル名で「WriteCustomFile」を呼び出すことです。私が見つけたすべてのサンプルは、「Blob Input / Output」のアイデアを念頭に置いて使用しています。このサンプルを見つけましたが、ハックのようです ;) http://thenextdoorgeek.com/post/WAWS-WebJob-to-upload-FREB-files-to-Azure-Storage-using-the-WebJobs-SDK
現在、これを行う方法はありますか?
azure - Web ジョブ内から Web サイトを停止する
Web ジョブから Azure Web サイトを停止する方法はありますか?
ノード上で実行される Ghost を使用する Azure Web サイトがあります。Ghost データベース ファイルのバックアップをスケジュールしようとしていますが、これは理想的にはサイトが実行されていないときに実行する必要があります。Kudu PowerShell コンソールを使用して Node.exe プロセスを終了することで、サイトを一時的に停止できます。
Web ジョブから同じことを実行しようとしても、プロセスは終了しません。おそらく、Web ジョブが別のコンテキストで実行されており、node.exe プロセスが表示されないためです。
WebJob 内からサイトを停止/開始する方法はありますか?
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 - Azure Web ジョブの Signalr セルフホステッド ハブには昇格が必要ですか?
継続的な Azure Web ジョブで SignalR セルフ ホスト プロジェクトを使用したいと考えています。しかし、実行しようとすると、次のエラーが発生します。
コンソール アプリは昇格された権限で実行する必要があると思います。これを機能させる方法はありますか?
前提条件:
完全なソース:
azure-webjobs - Azure WebJobs 0.3 Beta で BlobTrigger がジョブを複数回トリガーする
WebJobs 0.3 ベータ版にアップグレードした後、BLOB がストレージにポストされると、Azure WebJobs が (BlobTrigger を入力として) メソッドを複数回呼び出します。これは、コンソールでローカルにテストする場合と、Azure でテストする場合の両方で発生します。私の場合、BlobTrigger を取得してから、次のようにキューに投稿しています。
キューは 2 つのメッセージを取得しており、webjobs azure ダッシュボードでは、関数が 2 回呼び出されていることを示しています。
どうしてこれなの?
azure - Azure では、複数の Web サイトで実行しているときに、単一のストレージ アカウントから動作する同じ Web ジョブがスケーリングされないのはなぜですか?
現在、プロセッサを集中的に使用するシミュレーション タスクを、Azure 内で並列処理される数百のチャンクに分割しようとしています。セットアップが簡単な専用仮想マシンを提供する Azure Web サイトと、ストレージ キューを介した使いやすい抽象化を備えた Web ジョブが、私の請求書に完全に適合すると考えました。
次の Azure セットアップがあり、実行するたびにコードによって新しく作成されます
- 単一のストレージ アカウント
- ジョブ記述のある 1 つのストレージ キュー
- 静的データを含むストレージ コンテナー
- 結果のストレージ コンテナー (ジョブごとに一意のファイル)
- n (たとえば 8) "標準" Web サイト。つまり、n 個の異なる *.azurewebsites.net URI があります。
- WebJobs SDK (JobHost) を使用して、各 WebSite で 1 つの WebJob を継続的に実行 (この例では 8 つの WebJob)
- 各ジョブの説明は 1,000 未満
- 各ジョブは、約 100k の Blob 入力データで構成されます
- 各結果は約 100k の Blob-output-data です
- 現在のスケーリングでは、各ジョブは約 1 分半実行されます
これがジョブの署名です。
次にコードは、WebSite ローカルのジョブ固有のディレクトリをセットアップし、実行可能ファイルを含む zip アーカイブを抽出し、この実行可能ファイルを Process.Start で実行して、キャプチャした出力を BLOB に書き込みます。プロセスがアクセスするものはすべて、マシン上で利用できます。debug TextWriter は、ジョブ内のタイミング情報をキャプチャするためのものです。
私が期待していたのは、各 Web サイトがキューからジョブを取得して実行し、結果をコンテナーにポストして、次のジョブを取得するということでした。
私が実際に見ているのは、WebJob が開始され、各サイトで実行されていると報告されているにもかかわらず、1 つの WebSite だけが実際にジョブを実行しており、残りの WebSite はアイドル状態であるということです。正味の結果は、1 つの Web サイトの場合と同じ 1 分あたりのジョブ数です。これは、2 つの Web サイトが実行中のジョブに参加することを「決定」した実行のログです: Simulation-log.zip。接続文字列に記載されているストレージ アカウントは既に削除されているため、ログからアクセス キーを削除しませんでした。
WebJob にいくつかのタイミング インストルメンテーションを追加しました。その結果、実行可能ファイルの実行には、「通常の」実行にかかる時間の 2 倍または 3 倍 (ほぼ正確に) かかる場合があることがわかります。
ストップウォッチには、1:15、2:27、3:43 などの時間が表示されます。ただし、予想よりも時間がかかるジョブの中には、ストップウォッチに予想される時間も表示されるものがあります。ただし、どちらの場合も、代わりに別の Web サイトのジョブが実行され、ストレージの結果コンテナーに結果が表示されます。結局、1 分間に終了するジョブの数は変わりません。
アップデート
今日、私はさらに一歩進んで、Web サイトごとに個別のストレージ アカウントを作成し、8 つの Web サイトのそれぞれに対して 8 つのストレージ アカウントの 8 つのキュー間でジョブを手動で分散しました。つまり、私の外部の観点からは、同じコードを偶然実行した以外に共通点は何もありませんでした。
これは役に立ちませんでした。
独立性に関係なく、私が作成する Web サイトですべての Web ジョブを実行する必要がある単一のプロセッサがあるように見えます。ポータルに表示されているように、CPU 時間のイメージを作成しました。