【发布时间】:2017-10-28 14:59:18
【问题描述】:
我想每 10 秒调用一次函数(实际上是一个 Web API)。但是该函数可能需要随机 t 秒才能返回。 (假设 t 为 0.1 到 1.0 秒)
我们能想到的最简单的代码是
while True:
func() # take t sec
time.sleep(10) # sleep 10 sec
但在这种情况下,func 每 (1+t) 秒调用一次。
有更好的方法吗?
我们应该使用一些多线程或类似的东西吗?具体的代码示例将不胜感激。谢谢。
【问题讨论】:
-
stackoverflow.com/questions/1239035/… 可能相关?您可以每 10 秒为异步调用生成一个子进程。那么处理需要多长时间并不重要。
-
你为什么不用
cron? -
你可以使用python内置标准库中的
sched(scheduler)模块。 -
@YamanJain 你能说明如何安排吗?