我正在遍历一个列表并对列表的每个成员执行一些操作。如果一个成员花费了太多时间(在这种情况下为 1 秒),我打算通过它。然而,try
语句中的块总是被处理并且永远不会超时。我不明白为什么。
from eventlet import *
for rule in data:
#Timeout block
t=Timeout(1)
try:
f = expr2bdd(expr(rule))
solutions = satisfy_all(f, count=True)
each_rule["solution"]=solutions
except:
pass
finally:
t.cancel()