我試圖在多個服務器上同時運行一些腳本。 以下是示例代碼。蟒蛇織物並行處理
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 run_shell1 run_shell2
但是,當我跑的代碼,我得到了這樣的錯誤:
pickle.PicklingError: Can't pickle <function inner at 0x0000000003280438>: it's
not found as fabric.tasks.inner
也有一些其他錯誤關於multiprocessing/process.py和fabric/job_queue.py等的消息。
我檢查了織物的版本,它是1 .11.1。
這是您的完整碼?我不是布料專家,但似乎缺少一些東西。 –
是的,它幾乎是完整的代碼。什麼不見了? –
不知道,基於錯誤消息,我會期望看到一些內部函數,如嵌套任務或其他內容 - 但也許它與'@ parallel'有關,我自己並沒有使用該功能。 –