【发布时间】:2018-05-28 05:28:11
【问题描述】:
我正在尝试找到一种方法来限制单个线程。多次调用同一个脚本,将后续执行排队或限制在定义的参数范围内。
我发现了很多多处理和多线程解决方案,但这些都适用于脚本的单次执行。对于 same 脚本的单独执行,我不确定如何处理此问题。
我的目标是将线程执行次数限制为每秒二十 (20) 个。等待或排队后续执行,并根据 FIFO 继续处理。
为了进行测试,我们将约束设置为每分钟三 (3) 个。不知道从哪里开始,只是将rate_limit() 显示为占位符。
import time
rate = 60
limit = 3
ts = time.time()
def single_task():
print ts
rate_limit(single_task())
多次执行的结果应如下所示:
session_1$ ./script.py
1527483557.76
session_2$ ./script.py
1527483558.26
session_3$ ./script.py
1527483559.03
session_4$ ./script.py
hang on a minute...
1527483560.57
session_5$ ./script.py
hang on a minute...
1527483561.92
【问题讨论】:
标签: python rate-limiting