用于并行处理的python结构

2024-05-28 19:22:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在多个服务器上同时运行一些脚本。 下面是示例代码。在

server1 = ""
server2 = ""

env.parallel = True

@task
@hosts(server1)
@parallel
def run_shell1():
    run("sh shell1.sh")

@task
@hosts(server2)
@parallel
def run_shell2():
    run("sh shell2.sh")

我运行了fab命令如下:

^{pr2}$

但是当我运行代码时,我得到了这样的错误:

pickle.PicklingError: Can't pickle <function inner at 0x0000000003280438>: it's
not found as fabric.tasks.inner

还有一些关于多处理的错误消息/进程.py和织物/工作_队列.py等等

我查了一下fabric的版本,是1.11.1。在


Tags: run代码taskparalleldefsh错误pickle
1条回答
网友
1楼 · 发布于 2024-05-28 19:22:56

面料中存在与此问题相关的已知缺陷:

https://github.com/fabric/fabric/issues/489

更具体地说,请参见下面的解释:https://github.com/fabric/fabric/issues/489#issuecomment-4232091

要点是叉子。波本()在进行多处理时,Win32的实现在此处导致问题。在

我想他们会用织物2.x来修复它

相关问题 更多 >

    热门问题