2

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

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

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

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

4

2 回答 2

3

Azure 网站通过 HTTP API 进行控制。在您的 WebJob 中,您可以通过发出 HTTP 请求来停止您的网站。有关请求的详细信息,请参见此处

但是,WebJob 运行在与您的网站相同的上下文中。因此,如果站点停止,您的 WebJob 也将停止。而且您应该有其他方法使您的网站重新上线,因为 WebJob 不会为您服务...

于 2014-07-07T23:24:18.243 回答
2

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

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

于 2014-07-08T10:48:37.520 回答