Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在每次请求到达特定路径时增加flask应用程序中的计数器变量?_Python_Python Requests - Fatal编程技术网

Python 如何在每次请求到达特定路径时增加flask应用程序中的计数器变量?

Python 如何在每次请求到达特定路径时增加flask应用程序中的计数器变量?,python,python-requests,Python,Python Requests,我有一个场景,在这个场景中,每次请求到达/列车路线时,我都要递增。 我已经尝试过使用全局方法,其中我全局声明了一个计数器变量,我正在google app engine上部署这个应用程序 我的困惑是,我的应用程序在谷歌云上全天候运行,过了一段时间,我的计数器变量重置为1,甚至是1 app = Flask(__name__) app.secret_key='abc' global classifier classifier = RandomForestClassifier(n_estimators

我有一个场景,在这个场景中,每次请求到达/列车路线时,我都要递增。 我已经尝试过使用全局方法,其中我全局声明了一个计数器变量,我正在google app engine上部署这个应用程序

我的困惑是,我的应用程序在谷歌云上全天候运行,过了一段时间,我的计数器变量重置为1,甚至是1


app = Flask(__name__)
app.secret_key='abc'
global classifier
classifier = RandomForestClassifier(n_estimators = 500,criterion='entropy',random_state=0,warm_start=True)
global ovr
global counter
counter = 0
ovr = OneVsRestClassifier(classifier)
selected_features = []


@app.route('/train', methods=['POST'])
def train():
    global counter
    counter = counter + 1
    data = flask.request.json
    dataset = to_DataFrame_(data)
    if checking_nan_values(dataset):
        dataset = filling_NaNs(dataset)
    dataset = encoding_target_feature(dataset)
    final_dataset = Fixing_imbalancing_of_data(dataset)
    selected_features = Feature_selection(final_dataset)
    flag = model_training(final_dataset,selected_features)
    if flag:
        return jsonify({'Result':'Model Trained Successfully','Number of times':counter})
    else:
        return jsonify({'Result':'Model Training Unsuccessful'})
创建一个txt文件(将其命名为“counter.txt”)并在其中写入“0” 然后在您的烧瓶/列车路线中添加以下线路:

with open('counter.txt', 'r') as f:
    t=f.read()
with open('counter.txt', 'w') as f:
    f.write(str(int(t)+1))

这样,即使应用程序重新启动,您也可以将计数器保留在内存中

若要防止计数器重置,最好将计数器保存到外部文件中。很有可能你的应用程序会在某个时候重新启动,计数器会变为零。是的,我在谷歌云存储上创建了一个文本文件,并将计数器保存到其中。谢谢你!你能接受我下面的回答吗?干杯