设置
我正在使用Fabric在远程服务器上启动一个进程。我的本地服务器执行一个Python文件,按照以下顺序运行三个函数:第一个和第三个在本地服务器上运行,第二个在远程服务器上运行。
local_file.py
local_function_1()
remote_function()
local_function_2()
远程函数是在本地fabfile中指定的函数,如下所示。
fabfile.py
from fabric.api import *
@hosts(remote_server)
def remote_function():
run('python function_on_remote_server.py')
问题
local_function_2
应该在 remote_function
运行完成后运行,但我不知道如何实现。
我考虑过两种方法:(1) 在 local_function_2
运行前等待固定的秒数,和 (2) 添加一个中间函数,在运行 local_function_2
之前检查是否存在来自 remote_function
的某些输出。
如何延迟本地服务器上函数的执行,直到远程服务器上的函数运行完成?