使用 ipcluster 从从节点读取标准输出

2024-01-03

我已经使用设置了一个集群

ipcluster start --n=8

然后使用访问它

from IPython.parallel import Client
c=Client()
dview=c[:]
e=[i for i in c]

我正在从属节点 (e[0]-e[7]) 上运行进程,这需要花费大量时间,我希望它们向主节点发送进度报告,以便我可以密切关注它们的进度是。

我可以想到两种方法来做到这一点,但到目前为止,尽管我花了几个小时浏览问题页面,但我还没有能够实现其中任何一种。

要么我希望节点在没有提示的情况下将一些数据推送回主节点。即,在节点上运行的长进程中,我实现了一个函数,该函数定期将其进度传递给主节点。

或者我可以将节点的标准输出重定向到主节点的标准输出,然后使用 print 跟踪进度。这就是我迄今为止一直在做的工作。每个节点都有自己的标准输出,因此如果远程运行, print 不会执行任何操作。我尝试将 sys.stdout 推送到节点,但这只是将其关闭。

我不敢相信我是唯一想要这样做的人,所以也许我错过了一些非常简单的事情。如何使用 ipython 跟踪远程发生的长进程?


stdout 已被捕获、记录和跟踪,并在结果完成之前到达客户端。

IPython 附带一个例子 https://github.com/ipython/ipyparallel/blob/master/examples/iopubwatcher.py监视所有引擎的标准输出/错误的脚本,可以轻松调整该脚本以仅监视此信息的子集等。

在客户端本身,您可以检查 stdout/err 的元数据字典(Client.metadata[msg_id].stdout)在结果完成之前。使用Client.spin()刷新 Zeromq 套接字中的任何传入消息,以确保该数据是最新的。

如果您希望标准输出经常更新,请确保您调用sys.stdout.flush()以保证流在此时实际发布,而不是依赖于隐式刷新,这在工作完成之前可能不会发生。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ipcluster 从从节点读取标准输出 的相关文章

随机推荐

  • 下载 Google Play 服务 JAR

    我已经很长时间没有接触Android了 最近我必须为Appcelerator 开发一个Android 模块 我需要使用 Google Play 服务 JAR 所在的 extras 文件夹下有一个 经过一番搜索 我发现还有较小尺寸的单个 JA
  • 访问事件闭包中的可变变量

    我正在尝试使用捕鼠器 http craig is killing miceJavascript 插件以类似的方式处理一些击键 所以我想将它们编码如下 var keys b i u for var i 0 i lt 3 i var iKey
  • 如何使用 CMake + msbuild 构建所有配置

    我有一个生成 VS2015 解决方案文件 MyApp sln 的 CMake 文件 我为每个配置分别使用以下命令构建 MyApp sln msbuild MyApp sln property Configuration Debug msbu
  • 如何从 ASP.NET Core 中的实体框架中的数据库更新 VS 2019 中的模型

    到 VS 2019 我创建了一个 API 项目 首先是数据库 一切都运行良好 现在我在数据库中进行了一些更改 例如添加新表和一些属性并修改其他属性的数据类型等等 问题是如何更新模型以匹配 SQL 中的数据库 这是我的项目的屏幕截图 尝试通过
  • 让基本的 socket.io 示例正常工作

    我什至无法运行非常基本的 socket io 示例 例如其网站欢迎页面上的第一个示例 var io require socket io listen 80 io sockets on connection function socket s
  • Reporting Services:具有父子孙的业务对象数据源

    如何使用 POCO 自定义业务对象创建具有父子孙关系的报表 public class Invoice public List
  • WPF - 检测转换器中的设计模式

    我有一个转换器 我希望能够在设计模式下将值更改为 Visibility Collapsed 没错 它忽略了 GetIsInDesignMode 另外 我通过依赖注入 棱镜 绑定虚拟机 转换器 public object Convert ob
  • war 文件中的可执行文件

    我们希望发布一些帮助程序脚本 shell 脚本 作为应用程序战争的一部分 不幸的是 我们的构建系统 maven 似乎放弃了所有文件的权限 并且脚本最终没有设置可执行位 有可能这样做吗 war 格式支持可执行文件吗 如果是 如何告诉 Mave
  • 使用javascript在html上绘制矩形

    我知道有类似的问题here https stackoverflow com questions 14680690 draw rectangles and annotate webpage 但问题和答案都没有任何代码 我想做的就是将此功能移植
  • PercentRelativeLayout - 缺少布局宽度警告

    我正在尝试支持库中的 PercentRelativeLayout 并且the docs http developer android com reference android support percent PercentRelative
  • Ionic 2 使用 firebase 进行谷歌登录

    我在 firebase 身份验证和 google 提供商方面遇到了一些麻烦 我尝试使用谷歌提供商登录 这工作正常 但后来我想重定向到我的主页 但我遇到了问题 我有一个身份验证提供者 import Injectable from angula
  • Android 14 及更高版本是否可以使用 Java 8 功能Optional 和 Stream

    我想在当前的项目中使用选项和流 我已经进行了很多空检查和很多循环 不久前 我注意到Java 8中有Optional和Streams这样方便的类 我想使用它们 但我不能 因为我的项目的minSdk是14 是否可以使用Java 8功能适用于 A
  • 使用 Codable 序列化为 JSON 时 Swift 字符串转义

    我正在尝试按如下方式序列化我的对象 import Foundation struct User Codable let username String let profileURL String let user User username
  • 如何创建动态索引来获取元组的值?

    在 Python 中 我了解到可以通过动态索引检索元组值 data 1 2 3 4 data 0 for a in range len data print data a 输出 1 2 3 4 如何在 Rust 中做到这一点 我尝试过这样的
  • 将 CSS 和 JS 文件放置在 Mavenized Java Web 应用程序中的最佳位置?

    我在 Maven 中有一个遵循以下结构的 Web 应用程序 src main java resources webapp 最好将它放在主文件夹中 然后 Maven 插件会尝试移动它 或者我应该将它放在 webapp 文件夹中 为什么 如果不
  • PHP PDO MySQL 事务代码结构

    我正在尝试使用 PHP PDO 在 MySQL 中设置我的第一个事务 我只是有一个简单的问题 确定上一个查询是否成功的最佳方法是什么 这是我现在所拥有的 但我宁愿找到一种方法来使用 if 语句测试查询 这几乎是模拟代码 试图获得一个工作模型
  • 几天前创建的分支的 Git rebase

    我需要帮助来理解这种情况下的 git rebase 我查看了 10 天前某人创建的一个分支 我使用 git checkout b
  • 不使用 <<- 赋值的递归函数?

    有了向量 x 我需要在内部函数中递归地更改它 这是我使用的实现 lt lt 全局赋值运算符 outer lt function x lt rep 1 5 inner lt function i if i gt length x return
  • 在 Immutable.js 中获取嵌套值

    根据这里的文档 https facebook github io immutable js docs Map getIn https facebook github io immutable js docs Map getIn 我应该能够通
  • 使用 ipcluster 从从节点读取标准输出

    我已经使用设置了一个集群 ipcluster start n 8 然后使用访问它 from IPython parallel import Client c Client dview c e i for i in c 我正在从属节点 e 0