问题描述
有人试图将sanic服务器构建为Windows服务吗? 我目前正面临着这个问题,并且找不到任何解决方案。
这是我的代码:
- main.py模块
import win32service
import win32event
import servicemanager
import socket
import sys
import sanic_server as Server
class TestService(win32serviceutil.ServiceFramework):
_svc_name_ = "TestService"
_svc_display_name_ = "Test Service"
_svc_description_ = "My service description"
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,None)
socket.setdefaulttimeout(60)
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
def SvcDoRun(self):
Server.start_listening()
if __name__ == '__main__':
if len(sys.argv) == 1:
servicemanager.Initialize()
servicemanager.PreparetoHostSingle(TestService)
servicemanager.StartServiceCtrldispatcher()
else:
win32serviceutil.HandleCommandLine(TestService)
- sanic_server.py模块
from sanic import Sanic
app = Sanic("App Name")
def start_listening():
app.run(host="0.0.0.0",port=8000)
@app.route('/')
def hello(request):
return "Hello World!"
如您所见,这非常简单。基本上,问题直接在于运行服务。它尝试开始,但随后突然停止...
安装过程没有任何麻烦,您可以在下面看到它:
即使我试图从任务管理器中运行它,它也在尝试启动,但随后突然停止。
如果已经有人遇到过这个问题,请给我一些提示! 预先感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)