Вопрос

Я программирую веб-интерфейс, который связывается с коммутаторами Cisco через telnet.Я хочу создать такую ​​систему, которая будет хранить одно telnet-соединение на каждый коммутатор, и каждый скрипт (веб-интерфейс, задания cron и т. д.) будет иметь к нему доступ.Это необходимо для создания единой очереди запросов для каждого устройства и предотвращения огромной нагрузки на процессор Cisco, вызванной несколькими одновременными соединениями telnet.Как мне это сделать?

обновлено

Вариант с демоном обработки соединений хорош и будет работать наилучшим образом.Совместное использование объекта telnet-соединения между сценариями может оказаться трудным для реализации и отладки.Но этот вариант интересен тем, что интерфейс используется только несколькими операторами и заданиями cron.

Это было полезно?

Решение

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

Затем подключите к нему внешние сценарии (например.через сокет unix) для постановки команд в очередь и асинхронного получения результатов.

Но это может быть излишним.Сколько человек, по вашему мнению, будут одновременно использовать интерфейс коммутатора?Облегченной альтернативой только для веб-части было бы сохранить объект соединения telnet в веб-скриптах и ​​настроить веб-сервер/шлюз на запуск только одного экземпляра вашего веб-приложения одновременно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top