我正在用Tornado编写REST服务器。我使用带有max_workers可配置参数的ProcessPoolExecutor。然而,问题是它似乎没有按照我想要的方式有效地限制进程的数量。代码是
def post(self):
...
self.process_pool_executor.submit(_execute_scenario_optimization, self.project_name,
self.scenario_name)
self._generate_output_json_from_dict({"execution_status": "RET_OK"})
return我需要submit在池中同时活动的最大进程数超过4的时候生成一个异常。你知道吗?
发布于 2020-07-26 23:38:59
池执行器限制了一次可以运行的进程的数量,但是如果您给它们的任务比进程多,那么额外的任务就会进入队列,而不会引发异常。似乎没有一种方法可以限制此队列的大小,因此您可能应该使用semaphore来限制添加到队列中的项的数量。
https://stackoverflow.com/questions/63057476
复制相似问题