いくつかのWebジョブと共にWebサイトを公開しようとしていますが、Azure WebサイトでWebサイトとジョブが作成された後、VS.NET 2013で次のエラーが表示されます。
Error 948 An error occurred while creating the WebJob schedule: No website could be found which matches the WebSiteName [mysitename] and WebSiteUrl [http://mysitename.azurewebsites.net] supplied
私のウェブサイトには2つのWebジョブがあり、1つは継続的に実行され、作成されて実行されますが、スケジュールに従ってトリガーする必要があるのはこの問題です。
ここで何が間違っているのかについてのアイデアはありますか?
編集1
スケジュールされたジョブが「オンデマンド」として作成されていることを追加したかっただけです
これは私が使用している公開の設定です:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "ArchiveShipments",
"startTime": "2015-01-11T00:00:00+05:30",
"endTime": null,
"jobRecurrenceFrequency": "Day",
"interval": 1,
"runMode": "Scheduled"
}
ところで、AzureSDKを適用した後。 2.5公開時にエラーは表示されませんが、スケジュールされたWebJobが作成されません。
PowerShellから発行するときにこのエラーが発生する場合は、Azureサブスクリプションにログインしていないか、間違ったサブスクリプションにログインしている可能性があります。ブラウザーが資格情報を要求していない場合は、おそらく間違ったサブスクリプションを使用しています。がログインを要求しない場合は、Cookieをクリアして再試行してください。
Webジョブをデプロイメントスロットに公開しようとしたときに、この問題が発生しました。
Webジョブは公開されましたが、スケジュールを接続しようとしたときにWebサイトが見つかりませんでした。
ポータルから手動で1回公開し、そこでスケジュールを設定することで、これを回避することができました。その後、VSから公開するだけで、スケジュールは変更されません。
最近の更新後、何かが変更されました。スケジュールされたジョブがあるサブスクリプションにパブリッシュできませんでした。詳細に調べた後の解決策は次のとおりです。-解決策を右クリックしてNuGetパッケージを管理します-すべてのWeb Publishモジュールをバージョン1.0.3に変更します
公開。問題が解決しました。
私はVS2017でこれに遭遇しましたが、根本的な原因は VS Azureスケジューラ統合機能の非推奨 でした。リンクされたスレッドでのDavid Ebboの推奨に従って、Webジョブを CRONスケジューリング機能 を使用するように変換し、パブリッシュが期待どおりに機能するようになりました。アプリでAlways On設定を有効にする必要があることに注意してください。
これが発生した場合のいくつかのデバッグオプション:
正しいパブリッシュプロファイル(pubxml
)ファイルが使用されていることを確認してください。同じwebjobに複数のパブリッシュプロファイルファイルがあり、間違ったもので誤ってパブリッシュしようとしました。
私は、最初にWebジョブを1つずつ個別に公開することをお勧めします(Webサイトと一緒に公開するのではなく)。
Webジョブを公開できない場合は、そのProperties\PublishProfiles
フォルダーを削除して、もう一度公開してみてください。並べ替えられるVSウィザードが表示されます(pubxml
が再作成されます)ファイルを正しく)。
ここですべてを試しましたが、それでも同じ問題がありましたが、次のようにして解決できました:
古いバージョン(Microsoft.Web.WebJobs.Publish
)を実行していた1.0.3
というパッケージがインストールされています。最新の1.10.12
に更新してから、アプリとwebjob/scheduleを初めて公開しました。
私はこれに一日中費やしてきました。私にとっての解決策は、ZipをアップロードしてWebジョブを手動で展開し、必要に応じてそれをスケジュールすることでした。次に、VSで[既存のプロジェクトをWebジョブとして追加]を実行し、Webサイトを公開すると、スケジュールされたWebジョブが期待どおりに更新されます。
関連する問題を修正するAzure SDKのバージョン2.9に更新してください。
認証情報がスケジューラのプロビジョニングプロセスに渡されなかった、スケジュールされたWebジョブに関連する問題が修正されました
( https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx )
編集:
私は最終的にこのスケジューラーの使用をあきらめ、Kuduスケジューラー(内部Webジョブスケジューラー)に切り替えました。参照: https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob
実際に設定する方が簡単です。必要なのは、settings.jsonファイルを次の内容でWebジョブに追加することだけです:{"schedule": "the schedule as a cron expression"}
AzureスケジューラとKuduスケジューラの使用に関する長所と短所については、こちらで説明しています: http://blog.amitapple.com/post/2015/06/scheduling-Azure-webjobs/#.Vz4sk5ErJaQ =
そのブログ投稿で言及されていない重要な制限は、1時間ごとよりも頻繁にスケジュールを作成することがスケジューラの無料枠でサポートされていないことです(これはアプリサービス層とは別であるため、意図的に変更していない場合はおそらく使用します)。 15分ごとにジョブを実行するようにスケジュールする必要があったので、これが最終的にKuduスケジューラーに私を導いた
Nugetパッケージを最新の更新(私の場合は1.10.12)に更新するとうまくいきました。
ただし、ビジュアルスタジオは以前のパッケージを削除できませんでした。これを行うには、ウィンドウを再起動する必要があり、その後、Visual Studioを開く前に、古いバージョンのwebjobs.publishを含むフォルダーを削除しました。
これは私にとってはトリックでした!