python3 ConnectionRefusedError:[Errno 61]执行线程http.server时连接被拒绝
我有一个简单的HTTP服务器,它是使用Python3.8HTTP.server创建的 2个端点 1:/restart在后台执行线程 2:/check\u状态 当我请求第一个端点时,它正在执行,第二个请求是获取套接字连接拒绝错误,直到线程执行完成。 如果有更好的方法,请告诉我python3 ConnectionRefusedError:[Errno 61]执行线程http.server时连接被拒绝,python,python-3.x,multithreading,sockets,http.server,Python,Python 3.x,Multithreading,Sockets,Http.server,我有一个简单的HTTP服务器,它是使用Python3.8HTTP.server创建的 2个端点 1:/restart在后台执行线程 2:/check\u状态 当我请求第一个端点时,它正在执行,第二个请求是获取套接字连接拒绝错误,直到线程执行完成。 如果有更好的方法,请告诉我 def restart_solr_service(): tr = SolrRestartThread() class SolrRestartThread(object): def __init__(sel
def restart_solr_service():
tr = SolrRestartThread()
class SolrRestartThread(object):
def __init__(self, interval=1):
self.interval = interval
thread = threading.Thread(target=self.run, args=())
thread.daemon = True
thread.start()
def run(self):
logger.info(execute_cmd(solr_restart_cmd,status_workspace,logger))
logger.info("Restart solr completed")
wait_for_solr_service()
class MyServer(BaseHTTPRequestHandler):
def do_GET(self):
#self.send_response(200)
response_code= 200
request_key = self.path.replace('/', '')
if request_key in get_op_dict:
print(request_key)
body_content,response_code = get_op_dict[request_key]()
print(response_code)
else:
body_content = "invalid request.\n<br>Hostname:" + socket.gethostname()
self.send_response(response_code)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write(bytes("<html><body>", "utf-8"))
self.wfile.write(bytes("<p>Request: %s</p>" % self.path, "utf-8"))
self.wfile.write(bytes("<p>" + body_content + " </p> ", "utf-8"))
self.wfile.write(bytes("<p>Response code:" + str(response_code) + " </p> ", "utf-8"))
self.wfile.write(bytes("</body></html>", "utf-8"))
def restart_solr_服务():
tr=SolrRestartThread()
类SolrRestartThread(对象):
定义初始值(自,间隔=1):
self.interval=间隔
thread=threading.thread(target=self.run,args=())
thread.daemon=True
thread.start()
def运行(自):
info(execute_cmd(solr_restart_cmd,status_workspace,logger))
logger.info(“重新启动solr已完成”)
等待解决服务()
类MyServer(BaseHTTPRequestHandler):
def do_获得(自我):
#自我发送_响应(200)
响应代码=200
request_key=self.path.replace('/','')
如果请求,请输入获取操作命令:
打印(请求\u键)
正文内容、响应代码=获取操作指令[请求密钥]()
打印(响应代码)
其他:
body\u content=“请求无效。\n
主机名:“+socket.gethostname()
self.send\u响应(响应\u代码)
self.send_标题(“内容类型”、“文本/html”)
self.end_头()
self.wfile.write(字节(“,“utf-8”))
self.wfile.write(字节(“请求:%s%self.path,“utf-8”))
self.wfile.write(字节(“”+正文内容+”“,“utf-8”))
self.wfile.write(字节(“响应代码:”+str(响应代码)+“”,“utf-8”))
self.wfile.write(字节(“,“utf-8”))