我有一个 EC2-linux 服务器,运行一个简单的 Flask/gunicorn/nginx 程序,该程序返回 .csv 或 .JSON 文件。另一个 python 脚本每小时运行一次并用信息更新此 .csv。
问题是更改 .csv 不会自动重新加载 app.py 文件(读取 csv)并返回请求。每当我打开 app.py 并再次保存它时,脚本都会重新加载并获取“File.csv”上正确的更新信息。
如何让脚本自动重新加载或更新?如果我可以制作一个 cronjob 每小时打开文件并保存而不进行更改,我认为它会重新加载我需要的信息。
from flask import Flask,request,jsonify
import pandas as pd
#
bd =pd.read_csv('File.csv')
A = (bd['A'][0])
B = (bd['B'][0])
print(A,B)
app = Flask(__name__)
@app.route('/')
def get_user():
user_data = {'A':str(A),'B':'+'+str(B)
}
return jsonify(user_data),200
if __name__ == '__main__':
app.run(host = '0.0.0.0',port=8000)
如评论中所述,只需移动命令以在函数内打开 .csv 文件即可保证更新信息。
from flask import Flask,request,jsonify
import pandas as pd
#
app = Flask(__name__)
@app.route('/')
def get_user():
bd =pd.read_csv('File.csv')
A = (bd['A'][0])
B = (bd['B'][0])
print(A,B)
user_data = {'A':str(A),'B':'+'+str(B)}
return jsonify(user_data),200
if __name__ == '__main__':
app.run(host = '0.0.0.0',port=8000)