在Python中有多少任务可以提交给ThreadPoolExecutor

2024-10-04 05:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个简单的脚本来处理pyspark python中的一些命令(从1000到2000不等),在每次运行中,每个命令大约需要3 seconds(它包括API调用、D/B读取、D/B更新和其他处理)。

为了减少总体脚本时间,我用FutureThreadPoolExecutor更新了脚本因为要处理的订单之间没有依赖关系

目前,我已经创建了一个包含20个线程的线程池,并提交了所有任务(1000个订单),工作正常。

我想知道我可以安全地向ThreadPoolExecutor提交多少任务?是否有一个点/数字,在该点/数字之后任务将被拒绝

from concurrent.futures import ThreadPoolExecutor
import time

futuresList = []
executor = ThreadPoolExecutor(20)
start_seconds = time.time()

for tempOrder in membership_orders_to_processList:
  future = executor.submit(processOrder, (tempOrder))
  futuresList.append(future)
  
for tempFuture in futuresList:
  try:
    print("result",tempFuture.result())
  except Exception as inst:
    print("Exception occurred in future result",inst)

    
executor.shutdown(wait=True)

Tags: in订单import命令脚本fortimefuture