我搜索过几个相关的帖子,但没有一个明确回答我的查询。我正在尝试创建一个将使用多处理将作业分配到计算机的类。 'jobs'是使用子进程的系统调用,我不希望脚本在生成后保持与作业的连接。我已经使用Process类完成了所有工作,但我想尝试Pool类,我遇到了问题。
我的代码在这里: https://gist.github.com/2627589
相关方法是run_queue方法。你可以在Test_pool类中看到我覆盖了Runner类的run_queue方法。但是,当我运行它时,我收到一个错误: PicklingError:无法腌制:属性查找内置 .instancemethod失败
我的目标是能够定义一个应该保持忙碌的MAX_NUM_CORES,并且只要分配的作业的使用量不超过定义的最大核心数(例如MAX_NUM_CORES),就可以连续提交作业。也许我没有使用正确的设计模式?欢迎提出建议。