我有一個簡單的代碼,它在行程中運行一個函式。此函式將數字附加到串列中。在我的代碼版本中,我得到一個空串列。單擊停止按鈕后如何獲取此串列?
from multiprocessing import Process
from flask import Flask
app = Flask(__name__)
logs = []
def test():
for i in range(100):
logs.append(i)
time.sleep(1)
@app.route('/', methods=['POST', 'GET'])
def main():
global p
if request.method == 'POST':
index = request.form['index']
if index == 'start':
p = Process(target = test)
p.start()
if index == 'stop':
print(logs)
p.kill()
return redirect(url_for('main'))
return render_template('index.html')
app.run(debug=True)
uj5u.com熱心網友回復:
你選擇了錯誤的方式。首先,您錯過了,不僅一個用戶會使用您的網站,因此所有用戶都會看到一次計數的結果,即使它會起作用。
所以,我會在這里建議,例如,使用 DB,當用戶第一次加載頁面時為每個特定用戶創建一個帶有時間戳的記錄,一旦用戶按下按鈕,找到現在和記錄時間之間的差異。
uj5u.com熱心網友回復:
我敢打賭,這會奏效!
from threading import Thread
from flask import Flask
app = Flask(__name__)
logs = []
stop_thread = False
def test():
for i in range(100):
if stop_thread:
return
logs.append(i)
time.sleep(1)
@app.route('/', methods=['POST', 'GET'])
def main():
global stop_thread
if request.method == 'POST':
index = request.form['index']
if index == 'start':
t = Thread(target = test)
t.start()
if index == 'stop':
print(logs)
stop_thread = True;
return redirect(url_for('main'))
return render_template('index.html')
app.run(debug=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/352719.html
上一篇:從資料框中讀取網路鏈接會引發“過時的元素參考:元素未附加到頁面檔案”錯誤
下一篇:帶有臨時檔案的燒瓶發送檔案
