我有一个使用 Python/Flask 构建的 API,我有一个由系统调用的名为 /build-task
的端点,这个端点需要大约 30 分钟才能运行。
我的问题是,如何在 /build-task
端点启动并运行时锁定它?所以其他用户或系统不能调用此端点。
最好的方法是将数据保存到数据库中,并在运行端点函数之前对其进行检查。
这里还有另一种使用 Flask 的“应用程序”来存储时间的快捷方式:
from flask import Flask, session
from datetime import datetime, timedelta
app = Flask(__name__)
app.secret_key = 'Wow a Secret!'
@app.route('/build-task')
def build_task():
print ()
if datetime.now() - app.task_start_time > timedelta(seconds=10):
app.task_start_time = datetime.now()
return "I am running a great task now :)"
else:
return "Cannot help you!<br>You will have to wait until we reach 10 seconds: " + str(datetime.now() - app.task_start_time)
if __name__ == '__main__':
app.task_start_time = datetime.now() - timedelta(seconds=10)
app.run(debug=True)
我是一名优秀的程序员,十分优秀!