问题是你正在捕捉所有异常。因此,您的代码没有将正确的参数传递给
Process
构造函数(生成
AssertionError
),但是你的
catch
语句正在默默地处理异常。
目前的例外情况是:
Traceback (most recent call last):
File "C:\Users\MiguelAngel\Downloads\test.py", line 19, in <module>
process = multiprocessing.Process(scrape_retailer_product, args=(retailer_products[i+j]))
File "C:\Users\MiguelAngel\AppData\Local\Programs\Python\Python38-32\lib\multiprocessing\process.py", line 82, in __init__
assert group is None, 'group argument must be None for now'
AssertionError: group argument must be None for now
我想是的
scrape_retailer_product
是应该在新进程中执行的函数。因此,根据
documentation
,对构造函数的调用应该是:
process = multiprocessing.Process(target=scrape_retailer_product,
args=(retailer_products[i+j],))
如果你想捕获所有多进程异常,你应该捕获
multiprocessing.ProcessError
.根据
documentation
,它是所有多处理异常的基类。