【问题标题】:Fetch a value every 10 minutes and store it inside a while loop每 10 分钟获取一个值并将其存储在 while 循环中
【发布时间】:2019-02-02 04:43:13
【问题描述】:
我有一个函数(我们称之为“fetch_data_function”),它返回一个不时变化的值。我想将此值存储在一个变量(我们称之为“data_returned”)中,该变量每 10 分钟一次在 while 循环内。
如果我将函数: schedule.every(1).minute.do(fetch_data_function) 放在 while 循环中,它会在每个循环中一次又一次地启动(显然),因此 10 分钟永远不会过去。
如果我把它放在循环之外,它也不起作用。
【问题讨论】:
标签:
python
while-loop
schedule
【解决方案1】:
你有一个 while True 循环,你永远不会到达代码的最后一行,它永远不会被执行,因为循环永远不会结束。我想schedule.run_pending() 也应该在循环内。
另外我不知道你的项目的全部范围是什么,但你应该很好地这样做:
while True:
data_returned = fetch_data_function()
time.sleep(5) # get new values every 5 seconds