4

我在 Windows 上使用 waitress 和 falcon 编写了一个 API 服务器。它工作得很好,但现在我需要将它作为服务运行,以便它可以监控。最好的方法是什么?我看过 pywin32 和cherrypy 自己的实现。我很难通过 python 阻止女服务员。我知道使用 cmd 时使用了 ctrl-break,但不确定使用 python 时使用什么。

def SvcStop(self):
    self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
    cherrypy.server.stop()
    win32event.SetEvent(self.stop_event)

我看不到女服务员有像cherrypy这样的停止功能。

任何帮助都会很棒。即使它在pywin32之外。只需要一些关于如何让服务员在 Windows 上作为服务运行的详细信息,因为有很多方法可以做到这一点,我不确定哪个是推荐的。

谢谢,安东尼

4

2 回答 2

0

我知道这个问题有点老了,但我刚刚在这里发布并回答了我自己的问题这也可能回答了这个问题。

总之,答案就是用pywin32加一个子线程。
停止也给我带来了麻烦,我找到的答案似乎很干净,但我对这种方式可能出现的任何并发症的反馈非常感兴趣。

于 2020-01-26T23:07:47.520 回答
0

除了杀死线程之外,我不知道如何阻止女服务员。您是否尝试过它是否有反应做一些信号?

除了 pywin32 你还可以尝试使用 Non-sucking service manager NSSM

于 2017-09-11T13:41:36.230 回答