как использовать значение из клиента rpyc, вызванного из сценария выполнения в этом сценарии - PullRequest
0 голосов
/ 23 июня 2019

Попытка использовать сервер rpyc через скрипт выполнения и заставить скрипт выполнять разные задачи в зависимости от разных значений, которые я пытаюсь получить от клиента.

Я использую сервер rpyc для автоматизации некоторых задачпо требованию пользователей, и пытается реализовать клиент в сценарии выполнения следующим образом:

1. запускается сценарий progress.

2. сценарий progress вызывает клиента rpyc через cmd для запускафункция, которая проверяет, является ли сервер активным, и возвращает какой-то тип var, чтобы указать, является ли сервер активным или нет (для меня не имеет значения, какой тип индикации используется, я думаю, разные символы, такие как 0-live 1-предпочтительнее не использовать live).

3. на основе значения, возвращенного на последнем шаге, либо уведомляет пользователя о том, что сервер выключен и выходит, либо переходит к остальной части кода.

Часть, с которой я борюсь, это этап 2, как вызвать клиента таким образом, чтобы сохранить значение, которое он должен вернуть, и как правильно вернуть значение в скриптt.

Я думал об использовании команды -param, но не мог понять, как использовать ее в моем сценарии, где значение, которое я пытаюсь вернуть, относится к сценарию, который уже выполняет midrun, а не просто вызываетдругой сценарий выполнения со значением.

Код клиента, который я использую для проверки работоспособности сервера:

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

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

Для сценария выполнения, как уже упоминалось, я не сделалдействительно удалось выяснить правильный способ вызова клиента и сохранить значение так, как я пытаюсь ..

Я думаю, я могу заставить сервер создать файл, который будет использоваться в качестве индикатора для егостатус и проверьте файл в начале скрипта, но я не знаю, является ли это правильным способом, и предпочитаю избегать его использования, если это возможно.

1 Ответ

2 голосов
/ 23 июня 2019

Я предполагаю, что вы говорите, что из сценария 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...