Как проверить, доступны ли внешние ресурсы

Как вы проверяете состояние среды для системы без существенного увеличения области действия системы?

Я работаю над системой, которая общается с некоторыми удаленными серверами. Например, он подключается к серверу и получает журналы MyApp, которые запускались на этом сервере. Эти удаленные серверы используют множество операционных систем и управляются "вручную". Наша система не может установить MyApp на удаленных серверах, но наша система не может работать правильно, если MyApp не установлен.

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

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

Как вы думаете?

2 ответа

Мой лучший ответ здесь - не проверять, а просто пытаться сделать работу как можно лучше. Если и когда возникает проблема, выведите соответствующее сообщение об ошибке. Какова будет цель заранее проверить, что приложение не установлено, кроме как предупредить пользователя, что оно не установлено? Это было бы то же самое, что просто идти вперед и пытаться выполнить, а затем терпеть неудачу и сообщать пользователю точно такое же сообщение.

Это на самом деле не так уж плохо для стратегии, например, в Python рекомендуется просто попытаться выполнить функцию, а затем при возникновении ошибки восстановиться должным образом.

Если вы действительно хотите проверять внешние ресурсы, вы можете настроить службу обмена сообщениями на сервере, которая сообщает вашему приложению, существуют ли ресурсы. Я не знаю, разрешено ли вам это настраивать или нет.

Вы можете попробовать запросить, чтобы веб-сервер выставлял (конечно же, защищенный паролем) каталог журналов; если ваше "MyApp" создает журнал после установки, вы можете просто проверить веб-сервер на наличие журнала установки.

Другие вопросы по тегам