同时使用time.sleep()循环而无需重新加载页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同时使用time.sleep()循环而无需重新加载页面相关的知识,希望对你有一定的参考价值。
我正在从网站上为树莓派设置一些泵的计时器。当我输入要启动泵的秒数时,我会向pi发送mqtt消息以在所需的时间将其打开。但是,如果我在满足条件之前不睡觉就这样做,则会向pi发送过多的mqtt消息。当我在代码中进行睡眠时,我的网站将在我输入的时间内重新加载整个页面。有谁有解决这个问题的更有效方法?
@app.route("/pump1_timer", methods=["GET", "POST"])
def pump1_timer():
if request.method == "POST":
seconds = float(request.form.get('pump1_timer'))
t_end = time.time() + (seconds)
while time.time() <= t_end:
publish.single("MY TOPIC", "pump1:on", hostname="MY IP")
time.sleep(seconds)
else:
publish.single("MY TOPIC", "pump1:off", hostname="MY IP")
return main1.html
答案
您的input
需要name
属性,而不是格式:
<input name="pump1_timer" ... />
以上是关于同时使用time.sleep()循环而无需重新加载页面的主要内容,如果未能解决你的问题,请参考以下文章
(Rails)重新加载“lib”文件而无需重新启动服务器......? [复制]
如何使用 Ajax 加载过滤后的数据,而无需在 laravel 中重新加载整个页面