h b*_*bob 6 asp.net azure hangfire
我想将一个简单的共享主机ASP.NET MVC站点部署到Azure(使用免费站点选项),该站点使用Hangfire来运行计划任务.
问题是该站点仅在第一个请求时启动,因此Hangfire在此之前不会开始计划任务.使用IIS或专用VM,您可以设置"始终开启"选项以预热站点.但这在共享主机中是不可能的.
我该怎么办?我想到支付最小的虚拟机,称为"A0",并在那里放置一个ping脚本,以确保我的网站始终处于运行状态.这可行,但似乎有点矫枉过正.
还有其他好的选择吗?
老问题我知道,但也许我错过了一些东西.我使用UptimeRobot(https://uptimerobot.com/),因为它不断向您的Web服务器发出请求以使其保持活动状态.这不会比自己创建自动化作业简单得多.同样,我不确定是否在共享环境中会使UptimeRobot无用,但只是想我想传递.
如果您仍然想使用 azure 网站,则必须从 SHARED 切换到 BASIC(这是第一个具有 ALWAYS ON 选项的网站),但它比最便宜的 VM 贵 3 倍多。
如果我是你,我会选择最便宜的云服务 - Web 角色。它的成本比最便宜的 VM 贵一点,但它已经针对网站进行了配置,您不必自己设置所有内容 + 您可以使用 Visual Studio 来部署它,您可以通过 RDP 到盒子等等。
有关定价详细信息,请参阅http://azure.microsoft.com/en-us/pricing/details/cloud-services/。
但正如评论中所建议的,Azure Schedule 值得一看。
更新:(警告 - 有趣但完全不严肃的解决方案)
使用 Azure Scheduler 对您的网页进行 ping 操作以使其保持活动状态;-) 您可以使用免费套餐每小时创建最多 5 个具有最大执行次数的作业。这意味着您可以创建 5 个职位,每 12 分钟就会对您的网站执行一次 ping 操作。
| 归档时间: |
|
| 查看次数: |
4749 次 |
| 最近记录: |