gpt4 book ai didi

来自无尽数据循环的 Python Flask 网站?

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:14 25 4
gpt4 key购买 nike

我之前使用 Flask 构建了一些网站,包括一个使用 websockets 的网站,但这次我不确定如何开始。

我目前在 Python 中有一个无限循环,它从 ZeroMQ 获取传感器数据。 socket 。大致是这样的:

import zeromq
socket = zeromq.create_socket()
while True:
data_dict = socket.receive_json()
print data_dict # {'temperature': 34.6, 'speed': 12.8, etc.}

我现在想创建一个仪表板,在一些漂亮的图表中实时显示传入的传感器数据。因为它是用 Python 编写的,而且我熟悉 Flask 和 websockets,所以我想使用它。

虽然我之前建立的网站是基本的基于请求/回复的网站。我到底要如何从一个连续的循环中创建一个 Flask 网站?

最佳答案

从用户的角度来看,网页只会对合理时间间隔内的最新值感兴趣...例如 3 秒,因此您可以使用单独的线程 .

这是一个如何使用 threading 的例子在后台更新最新值的模块:

import threading
import random
import time

_last_value = None

def get_last_value():
return _last_value

def retrieve_value():
global _last_value
while True:
_last_value = random.randint(1, 100)
time.sleep(3)


threading.Thread(target=retrieve_value, daemon=True).start()

for i in range(20):
print(i, get_last_value())
time.sleep(1)

在你的情况下,它会是这样的:

import threading
import zeromq

_socket = zeromq.create_socket()
_last_data_dict = {}

def get_latest_data():
return _last_data_dict

def retrieve_value():
global _last_data_dict
while True:
_last_data_dict = _socket.receive_json()

threading.Thread(target=retrieve_value, daemon=True).start()

关于来自无尽数据循环的 Python Flask 网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com