Питон (Джанго). Хранить Telnet-соединение
Я программирую веб-интерфейс, который общается с коммутаторами Cisco через telnet. Я хочу создать такую систему, которая будет хранить по одному соединению telnet для каждого коммутатора, и каждый скрипт (веб-интерфейс, задания cron и т. Д.) Будет иметь к нему доступ. Это необходимо для создания единой очереди запросов для каждого устройства и предотвращения огромной загрузки процессора Cisco, вызванной несколькими одновременными соединениями telnet. Как я могу это сделать?
обновленный
Вариант с демоном обработки соединения хорош и будет работать наилучшим образом. Совместное использование объекта соединения telnet между скриптами может быть сложно реализовать и отладить. Но этот вариант интересен тем, что интерфейс используется только несколькими операторами и заданиями cron.
1 ответ
Обычный способ состоит в том, чтобы иметь процесс, работающий в фоновом режиме, который удерживает постоянные соединения telnet и команды в очереди для их отключения.
Затем подключите к нему внешние сценарии (например, через сокет unix), чтобы поставить команды в очередь и получить результаты асинхронно.
Но это может быть излишним. Сколько людей вы ожидаете использовать интерфейс коммутатора одновременно? Облегченной альтернативой только для его веб-части будет сохранение объекта подключения telnet в веб-сценариях и настройка веб-сервера / шлюза для одновременного запуска только одного экземпляра вашего веб-приложения.