我想从文件中启动Flask服务器,但是在服务器启动后,我想将控制权交还给实际上已经启动服务器的功能,以便该功能可以继续其工作。
我尝试使用subprocess.Popen()从单独的文件运行服务器。我尝试不返回对象,而只是在一个单独的进程中启动服务器,但是它总是启动服务器并且不会产生控制权。
这是server.py:
from flask import Flask
import requests
RestServer = Flask(__name__)
class ControlPeerRestInterface:
def __init__(self):
pass
@RestServer.route('/cp/v1/status')
def server_status():
return ("***************")
RestServer.run(port=8700)
这是serverRunner.py,它将启动服务器,然后继续执行其想做的事情:
import subprocess
import sys
def start_server():
br_command = [
sys.executable,
'server.py'
]
br_process = subprocess.Popen(br_command)
print (br_process.pid)
start_server()
1)从start_server.py启动Flask服务器 2)Flask服务器应用作REST API。 3)serverRunner.py在启动服务器并与该服务器通信后,应继续执行其想做的任何事情。 4)serverRunner.py将在完成启动后的所有操作后关闭Flask服务器。