我有一个代码,可以从gstorage下载文件,将文件转储到json,将json转换为csv,然后转换为parquet,最后上传到awss3(不要问为什么我不是编写它的人)
我从日志中发现,有时运行结束时所有子流程都没有完成。
有人知道为什么会这样吗?如果不是的话,你认为可能会改变吗
ProcessPoolExecutor
加一个普通的{
在我开始这整件事的主要步骤中,我使用:
with ProcessPoolExecutor(max_workers=NUM_OF_PROCESS_WORKERS) as process_executor:
for table_type in TABLES_COLUMNS_MAPPER.keys():
for node in nodes:
process_executor.submit(handle_sstable_group_files_per_node, node, table_type)
我正在使用ubuntu,如果有帮助的话
谢谢
因此,要继续评论,您仍然不会等待结果,因为您使用的是上下文管理器,异常将被“吞没”:
test.py:
测试:
现在,当您取消注释这两行时:
您现在可以看到错误(假设您不在worker函数中处理错误):
相关问题 更多 >
编程相关推荐