0

尝试通过进度脚本使用 rpyc 服务器,并让脚本根据我试图从客户端获取的不同值执行不同的任务。

我正在使用 rpyc 服务器根据用户的要求自动执行一些任务,并尝试以这种方式在进度脚本中实现客户端:

1.progress 脚本启动。

2.progress 脚本通过 cmd 调用 rpyc 客户端,运行一个检查服务器是否处于活动状态的函数,并返回某种 var 来指示服务器是否处于活动状态(对我来说什么样的指示并不重要被使用,我想不同的字符,比如 0-live 1-not live 会更好)。

3.根据上一步返回的值,要么通知用户服务器已关闭并退出,要么继续执行其余代码。

我正在努力的部分是第 2 阶段,如何以存储应该返回的值的方式调用客户端,以及如何实际将值正确地返回给脚本。

我考虑过使用 -param 命令,但不知道如何在我的场景中使用它,我试图返回的值是已经运行中的脚本,而不仅仅是调用具有该值的另一​​个进度脚本。

我用于检查服务器是否启动的客户端代码是:

def client_check():
  c=rpyc.connect(host,18812)

if __name__=="__main__":
  try:
    client_check()
  except:
    #some_method_of_transferring_the_indication#

对于进度脚本,如前所述,我并没有真正设法找出正确的方法来调用客户端并以我尝试的方式存储值..

我想我可以让服务器创建一个文件来作为他的状态的指示器,并在脚本的开头检查文件,但我不知道这是否是正确的方法,并且准备如果可能,请避免使用它。

4

1 回答 1

2

我猜你是说你正在从 Progress 脚本中取出来将你的 rpyc 脚本作为外部进程运行?

在这种情况下,这些行中的某些内容将读取该 rpyc 脚本的第一行输出:

define variable result as character no-undo format "x(30)".

input through value( "myrpycScript arg1 arg2" ).   /* this runs your rpyc script */
import unformatted result.               /* this reads the result */
input close.

display result.
于 2019-06-23T11:18:20.783 回答