在flask/gunicorn中,如何设置每分钟/每小时自动重新加载信息?

问题描述 投票:0回答:1

我有一个 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)
python flask gunicorn reload
1个回答
0
投票

如评论中所述,只需移动命令以在函数内打开 .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)
© www.soinside.com 2019 - 2024. All rights reserved.