您可能想看看
pebble。
它
ProcessPool旨在解决这个确切的问题:无需关闭整个缓冲池即可启用超时并取消正在运行的任务。
当将来超时或被取消时,工作人员实际上将终止,从而有效地停止了计划功能的执行。
超时:
pool = pebble.ProcessPool(max_workers=1)future = pool.schedule(func, args=args, timeout=1)try: future.result()except TimeoutError: print("Timeout")例:
def call_with_timeout(func, *args, timeout=3): pool = pebble.ProcessPool(max_workers=1) with pool: future = pool.schedule(func, args=args, timeout=timeout) return future.result()



