6

Hangfireを使用してスケジュールされたタスクを実行する単純な共有ホスト ASP.NET MVC サイトを (無料のサイト オプションを使用して) Azure にデプロイしたいと考えています。

問題は、サイトが最初のリクエストでしか開始されないため、Hangfire はそれまでタスクのスケジューリングを開始しないことです。IIS または専用 VM を使用すると、「常時オン」オプションを設定して、サイトをプレウォームできます。ただし、これは共有ホスティングでは不可能です。

これについて何ができますか?「A0」と呼ばれる最小の VM に料金を支払い、そこに ping スクリプトを配置して、サイトが常に稼働していることを確認することを考えました。それは機能しますが、やり過ぎのようです。

他に良いオプションはありますか?

4

2 に答える 2

7

私が知っている古い質問ですが、何かが足りないかもしれません。私は UptimeRobot ( https://uptimerobot.com/ ) を使用しています。これは、Web サーバーを維持するために継続的に要求を行うためです。自分で自動化されたジョブを作成するよりもはるかに簡単ではないでしょうか。繰り返しますが、共有環境にいると UptimeRobot が役に立たなくなるかどうかはわかりませんが、伝えたいと思っていた考えにすぎません。

于 2015-04-03T18:00:59.863 に答える
4

それでも azure の Web サイトを使用したい場合は、SHARED から BASIC に切り替える必要があります (これは、ALWAYS ON オプションを使用した最初の Web サイトです)。ただし、最も安価な VM の 3 倍以上の費用がかかります。

私があなたなら、最も安価なクラウド サービス - Web ロールを選びます。最も安価な VM よりも少し費用がかかりますが、既に Web サイト用に構成されているため、自分ですべてをセットアップする必要はありません。Visual Studio を使用して展開でき、ボックスに RDP を使用できます。

価格の詳細については、 http://azure.microsoft.com/en-us/pricing/details/cloud-services/を参照してください。

しかし、コメントで示唆されているように、Azure Schedule は注目に値するものです。

更新:(警告 - 興味深いが、完全に深刻な解決策ではない)

Azure Scheduler を使用して Web ページに ping を送信し、Web ページを維持します ;-) 無料利用枠を使用して、1 時間ごとに最大実行の最大 5 つのジョブを作成できます。つまり、12 分ごとに Web サイトに ping を送信する 5 つのジョブを作成できます。

于 2014-11-05T11:27:48.350 に答える