背景
1.使用multiprocessing多进程运行程序run_cmd(使用apply_async)
2.当定义的run_cmd无参数输入时运行正常,但是传入一些来自AWS的client参数就会直接报错can’t pickle _thread.lock objects,甚至不会进入run_cmd中执行程序
问题原因:
- multiprocessing运行多进程的时候会根据函数的需要传入多个参数,这些参数将会被pickle进行序列化
- 当参数对象在序列化的时候报错,那么就会出现当前的错误问题
解决办法
1.测试一下哪个参数是不可以利用pickle进行序列化的,将其转化为可序列化参数
2.