У меня есть небольшое количество серверов rpyc, которые только частично имеют одинаковые функции.
На клиенте события должны быть перенаправлены на все серверы, которые подключены и заинтересованы в определенных событиях.
Я хотел бы получить список доступных открытых функций на серверах из объекта подключения к серверам.
Лучшее, что я нашел на данный момент, это проверка в клиенте существующей открытой функции с использованием имени метода, например,
try:
conn.root.exposed_recordLog
except Exception as e:
print(f"recordLog is not exposed: {str(e)}")
, который вызывает исключение AttributeError в клиенте - однако - это также вызывает исключение на удаленном сервере, которого я хотел бы избежать.
Мысль о том, чтобы добавить общую функцию visible_supportedFunctions на каждый сервер и вернуть список его открытых функций, но это выглядит немного излишним и склонным к несоответствиям.