我使用iPython的并行处理工具进行大地图操作。在等待映射操作完成时,我想向用户显示已完成的作业数、正在运行的作业数以及剩余的作业数。我怎样才能找到这些信息?在
这就是我要做的。我创建了一个使用本地引擎并启动两个工人的概要文件。在外壳中:
$ ipython profile create --parallel --profile=local
$ ipcluster start --n=2 --profile=local
下面是客户端Python脚本:
^{pr2}$脚本的输出示例:
After 0 s: 2 running
After 1 s: 2 running
After 2 s: 2 running
After 3 s: 2 running
After 4 s: 2 running
After 5 s: 2 running
After 6 s: 2 running
After 7 s: 2 running
After 8 s: 2 running
After 9 s: 2 running
After 10 s: 2 running
After 11 s: 2 running
After 12 s: 2 running
After 13 s: 2 running
After 14 s: 1 running
After 15 s: 1 running
After 16 s: 1 running
After 17 s: 1 running
After 18 s: 1 running
After 19 s: 1 running
After 20 s: 1 running
After 21 s: 1 running
After 22 s: 1 running
After 23 s: 1 running
[9, 14, 10, 3]
如您所见,我可以得到当前正在运行的作业的数量,但不能获得已完成(或剩余)的作业数。我怎样才能知道map_async
的工作已经完成了多少?在
AsyncResult有一个
msg_ids
属性。出色的工作是这与rc.未完成,与完成的作业不同:相关问题 更多 >
编程相关推荐