【发布时间】:2019-07-16 17:24:36
【问题描述】:
我正在设置一个基本的动态网页来显示 EC2 实例数据,我需要检查并传递包含内部数据的数组以使用 D3 显示。我使用多进程在后台运行集合。
运行 python3.7 和最新版本的 Flask。
app.py 代码
@app.route('/experiment')
def experiment():
type = request.args.get('type')
resource = request.args.get('resource')
action = request.args.get('action')
if 'test' not in session:
thread = multiprocessing.Process(target=exp.transmitTest)
session['test'] = 'started'
thread.start()
print(f"Looking for Data at {hex(id(exp.getData()))} found {exp.getData()}")
return render_template('experiment.html', data=exp.getData(), type=request.args.get('type'), resource=request.args.get('resource'), action=request.args.get('action'))
后端代码
def transmitTest(self):
for i in range(5):
self.data.append(random.randint(0,100))
time.sleep(4)
print(f"Data: {self.data} at {hex(id(self.data))}")
def getData(self):
return self.data
我的 JS 调度程序每 5 秒运行一次“/experiment”。打印语句显示,即时写入和从 getter 获取的数组位于相同的内存空间,但一个是空的,另一个有数据。谁能帮我理解这个?
【问题讨论】:
标签: flask jinja2 python-3.7