python3 ConnectionRefusedError:[Errno 61]执行线程http.server时连接被拒绝

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

我有一个简单的HTTP服务器,它是使用Python3.8HTTP.server创建的

2个端点 1:/restart在后台执行线程 2:/check\u状态

当我请求第一个端点时,它正在执行,第二个请求是获取套接字连接拒绝错误,直到线程执行完成。 如果有更好的方法,请告诉我

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”))