python flask返回重新启动之前的执行
出于某些原因,我想使用RESTAPI触发raspberry pi的重新启动 我的REST api在python flask返回重新启动之前的执行,python,asynchronous,flask-restful,Python,Asynchronous,Flask Restful,出于某些原因,我想使用RESTAPI触发raspberry pi的重新启动 我的REST api在python flask中编码如下: from flask import Flask from flask import jsonify import subprocess app = Flask(__name__) @app.route('/api/reboot') def reboot(): subprocess.call("/sbin/reboot") return jso
python flask
中编码如下:
from flask import Flask
from flask import jsonify
import subprocess
app = Flask(__name__)
@app.route('/api/reboot')
def reboot():
subprocess.call("/sbin/reboot")
return jsonify(triggered='reboot')
if __name__ == '__main__':
app.run(debug=True,host="0.0.0.0")
代码运行得非常好。但是由于它是重新启动的,所以不会发送返回(因为系统显然正在重新启动)
是否有一种方法可以触发重新启动某种异步,延迟几毫秒,从而允许在实际重新启动之前返回一些值(在我的情况下只是一个自定义的“确认”)
例如:
from flask import Flask
from flask import jsonify
import subprocess
import threading
app = Flask(__name__)
def _reboot():
subprocess.call("/sbin/reboot")
@app.route('/api/reboot')
def reboot():
t = threading.Timer(1, _reboot)
t.start()
return jsonify(triggered='reboot')
if __name__ == '__main__':
app.run(debug=True,host="0.0.0.0")
这将重新启动我的系统,因此我需要一些安装时间进行测试(我现在无法重新启动)