从WebJob中停止网站

时间:2014-07-07 22:17:17

标签: azure azure-webjobs

有没有办法从WebJob停止Azure网站?

我有一个使用Ghost的Azure网站,它运行在Node上。我正在尝试安排Ghost数据库文件的备份,理想情况下应该在站点未运行时完成。我可以通过使用Kudu PowerShell控制台终止Node.exe进程来暂时停止站点。

如果我尝试从WebJob执行相同的操作,则该过程不会被终止 - 可能是因为WebJob在不同的上下文中运行并且没有看到node.exe进程。

有没有办法从WebJob中停止/启动网站?

2 个答案:

答案 0 :(得分:3)

Azure网站通过HTTP API进行控制。从您的WebJob,您可以通过发出HTTP请求来阻止您的网站。请参阅请求的here for details

但是,WebJob在与Web站点相同的上下文中运行。因此,如果站点停止,您的WebJob也将停止。你应该有其他方法让你的网站重新上线,因为WebJob将不适合你......

答案 1 :(得分:2)

实际上,当我最初尝试终止node.exe进程时,我的WebJob似乎做错了。

虽然@trailmax是正确的,因为终止站点(即w3wp进程)也将停止WebJobs(实际上是Kudu站点),您可以从webjob终止node.exe。一旦与站点建立了另一个连接,它就会重新启动,所以不幸的是它不是最好的解决方案 - 除非启动某种异步过程以持续检查并终止node.exe,直到WebJob完成它的工作。