- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我关于 stackoverflow 的第一个问题。我基本上能够在这里找到我需要知道的东西。顺便说一句,非常感谢。
但是。如果我尝试终止我的 ProcessPoolExecutor,它只会在生成的整个队列中工作(.. 我这么认为?)。有什么简单的方法可以立即清理 ProcesspoolExecutor 的队列吗?
from concurrent.futures import ProcessPoolExecutor
from time import sleep
from random import randint
def something_fancy():
sleep(randint(0, 5))
return 'im back!'
class Work:
def __init__(self):
self.exe = ProcessPoolExecutor(4)
def start_procs(self):
for i in range(300):
t = self.exe.submit(something_fancy)
t.add_done_callback(self.done)
def done(self, f):
print f.result()
def kill(self):
self.exe.shutdown()
if __name__ == '__main__':
work_obj = Work()
work_obj.start_procs()
sleep(5)
work_obj.kill()
所以我想做的是生成一个由 300 个进程组成的队列。 5 秒后它应该会退出。
顺便说一句,因为 gil,我需要使用进程。
最佳答案
使用 shutdown(wait=False)
它将返回得更快。 wait
的默认值为 True
否则它还提供一个 .Cancel()
,如果不可取消则返回 False。
它仍然会完成所有处理 future :
If
wait
isTrue
then this method will not return until all the pending futures are done executing and the resources associated with the executor have been freed.If
wait
isFalse
then this method will return immediately and the resources associated with the executor will be freed when all pending futures are done executing. Regardless of the value of wait, the entire Python program will not exit until all pending futures are done executing.
如果你有固定的时间,你应该提供一个超时:
map(func, *iterables, timeout=None, chunksize=1)
可以是float或int,以秒为单位
关于Python Processpoolexecutor - 杀死队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48043555/
python ProcessPoolExecutor 在命令行中工作,但添加到函数后不运行 它是这样工作的 from concurrent import futures def multi_proce
如果父进程因任何原因终止,有没有办法使 concurrent.futures.ProcessPoolExecutor 中的进程终止? 一些细节:我在处理大量数据的作业中使用 ProcessPoolEx
这是我关于 stackoverflow 的第一个问题。我基本上能够在这里找到我需要知道的东西。顺便说一句,非常感谢。 但是。如果我尝试终止我的 ProcessPoolExecutor,它只会在生成的整
我有一个代码,它从 gstorage 下载文件,将它们转储到 json,然后将该 json 转为 csv,然后转为 parquet,最后上传到 aws s3(不要问为什么我不是写它的人)。 我从我的日
ESPNP 播放器免费 class ESPNPlayerFree: def __init__(self, player_id, match_id, match_id_team): ... 团队列表1:
在本文档 ( https://pymotw.com/3/concurrent.futures/ ) 中说: “ProcessPoolExecutor 的工作方式与 ThreadPoolExecutor
我正在创建一个多处理程序来处理多个批处理,但我的日志记录无法将批处理记录到日志文件中,只会记录根 log.info,如何设置日志记录以正确打印到日志文件? 日志只会打印这样一行"INFO:root:t
我正在尝试使用一个单独的进程通过并发 future 流式传输数据。然而,另一方面,有时对方会停止数据馈送。但只要我重新启动这个 threadable 然后它就会再次工作。所以我设计了这样的东西,以便能
设置 我设置了一个函数来接收多个关键字参数: def process(image, folder, param1, param2, param3): do_things return
from concurrent.futures import ProcessPoolExecutor import os import time def parInnerLoop(item):
python 3.6.6 这是代码: import asyncio import time from concurrent.futures import ProcessPoolExecutor exe
我是一般并行化的新手,特别是 concurrent.futures。我想对我的脚本进行基准测试并比较使用线程和进程之间的差异,但我发现我什至无法运行它,因为在使用 ProcessPoolExecuto
代码: if __name__ == "__main__": p = ProcessPoolExecutor() p.submit(lambda x: print(x), "somet
代码: if __name__ == "__main__": p = ProcessPoolExecutor() p.submit(lambda x: print(x), "somet
我想在多进程环境中记录到单个文件。我可以得到 sample code从 python 日志记录手册开始工作。但是当我替换为 ProcessPoolExecutor 时,它不起作用。 # work
我正在尝试使用新的 Tornado queue对象以及 concurrent.futures允许我的网络服务器将 CPU 密集型任务传递给其他进程。我想访问从 concurrent.futures 模
我有一个 python 函数正在调用我无法控制或更新的 C 库。不幸的是,C 库存在间歇性错误,有时会挂起。为了防止我的应用程序也挂起,我尝试隔离 ThreadPoolExecutor 或 Proce
我最近开始使用 Python 的多线程和多处理功能。 我尝试编写代码,使用生产者/消费者方法从 JSON 日志文件中读取 block ,将这些 block 作为事件写入队列,然后启动一组将从该队列中轮
我有一大堆必须以某种方式处理的元素。我知道可以通过以下方式使用多处理过程来完成: pr1 = Process(calculation_function, (args, )) pr1.start() p
if __name__ == '__main__': MATCH_ID = str(doc_ref2.id) MATCH_ID_TEAM = doc_ref3.id with
我是一名优秀的程序员,十分优秀!