问题标签 [parallel-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何防止并行 python 退出并出现“OSError:[Errno 35] 资源暂时不可用”?
语境
我正在尝试运行 1000 次模拟,这些模拟涉及(1)损坏道路网络,然后(2)测量由于损坏造成的交通延误。步骤 (1) 和 (2) 都涉及创建多个“地图”。在步骤 (1) 中,我创建了 30 张损坏地图。在步骤 (2) 中,我测量了这 30 张损坏地图中的每一张的交通延误。然后该函数返回 30 个损坏地图的平均交通延迟,并继续运行下一个模拟。设置的伪代码如下所示:
由于地图彼此独立,因此我在每一步都使用了并行 python 包。
问题——错误信息
该代码在第 72 次模拟(共 1000 次)前后两次引发以下错误,并在步骤 (1) 期间停止运行,这涉及损坏桥梁。
系统和版本
我正在使用并行 python (pp) 1.6.5 在 PyCharm 虚拟环境中运行 Python 2.7。我的电脑运行 Mac OS High Sierra 10.13.3,内存为 8 GB 1867 MHz DDR3。
尝试修复
我认为问题出在并行 python 包或我是如何使用它的,但是我不知道如何解决这个问题。它被认为是并行 python 页面上的一个错误——wkerzendorf 在那里发布:
问:我在使用使用 >os.system 调用的作业时收到套接字错误/内存错误
答:我找到的修复方法是使用 subprocess.Popen 并将 >stdout,stderr 弹出到 subprocess.PIPE 中。这是一个示例:subprocess.Popen(['ls ->rtl'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)。那>为我修复了错误。
但是,我完全不确定在哪里进行此修改。
我还读到这个问题可能出在我的系统限制上,根据机器中的这篇 Ghost 博客文章。但是,当我尝试重新配置最大文件数和最大用户进程时,我在终端中收到以下消息:
使用并行 python 的代码
我正在使用的代码相当复杂(需要运行多个输入文件),所以恐怕我无法在这里提供一个最小的、可重现的示例。您可以在此链接下载并运行代码的一个版本。
下面我包含了步骤 (1) 的代码,其中我使用并行 python 创建 30 个损坏图。工人人数为4人。
附加功能
compute_damage 函数如下所示。
damage_bridges 函数如下所示。
python - 并行 Python 无法正确接受参数
我刚刚开始在 Python3 中使用 Parallel Python (pp),目前在提交对象函数的参数时遇到了麻烦。
有没有可能这个参数不能是一个列表?我找不到和我有相同错误信息的人,所以我很困惑。
python-2.7 - 并行python没有发现工作节点
我正在尝试实现一个基本的 pp 示例,如下所示(SCRIPT1)。
环境详细信息
操作系统:windows10
python版本:2.7(在机器1和机器2上)机器1
IP:192.168.1.4机器2
IP:192.168.56.1
到现在为止的步骤:
- machine1 和 machine2 使用 wifi 连接在同一个网络中
- SCRIPT1放置在 machine1 上(machine1 是作业服务器)
在 machine2(工作节点)中安装 pp 并使用 machine2(端口 60000)启动服务器
/li>在 machine1 上触发SCRIPT1,machine 1 输出如下图
但是在第 4 步的输出预计也会检测到机器 2 并将输出显示为
并行计算的新手,我该如何调试?对此表示赞赏。
python - 在 Python 中并行打开多个 Websocket
我在 Python 中使用 websocket 库,我对此并不陌生。
我想为 websockets 创建多个不同的连接。这通过我的自定义 WebsocketProcess 类发生,该类打开连接、接收事件、保留记录 ID,然后调用 API 来获取此特定记录的信息。
我无法并行运行它们。
请看下面(忽略大量进口)
主要的:
WebsocketProcess 类如下:
从上面可以看出,我已经将 main 改为异步来并行运行 websocket_process 类的多个实例。它打开到第一个 websocket 的连接,并在那里停止等待事件,而不继续打开第二个 websocket。
我尝试使 WebsocketProcess 类完全异步,但我收到一个错误,指出从未等待协程“运行”(在 connect_websocket 方法中)。
你们对如何并行运行 websocket_process 类的多个实例有什么建议吗?
谢谢!