Я нахожусь в процессе написания приложения с внешним интерфейсом Urwid и внутренним модулем MongoDB на python.Конечная цель - иметь возможность обслуживать приложение по SSH.Приложение имеет собственную систему аутентификации / идентификации.Я не беспокоюсь о затратах на запуск нового процесса для каждого пользователя, ожидаемое количество одновременных пользователей невелико.Поскольку клиент не вызывает никакой информации о состоянии и вместо этого все хранится в БД, я не беспокоюсь о сеансах как таковых, за исключением целей аутентификации.
Мне было интересно, есть ли какие-либо методы для обслуживания приложениябез необходимости свернуть мой собственный код сервера сокетов или перекодировать приложение с помощью Twisted.Честно говоря, я не знаю, как Урвид и Твист играют вместе.Я вижу, что в Urwid есть метод TwistedEventLoop, который подразумевает использование витого реактора, но я не могу найти пример кода, запускающего приложение Urwid по витому соединению.Были бы оценены примеры, даже простые.Я также посмотрел на ZeroMQ, но это кажется еще более непостижимым, чем Twisted.Короче говоря, я исследовал ряд различных библиотек, предназначенных для обслуживания приложений через tcp, большинство из которых - через telnet.И почти все они сосредоточены на http.
В худшем случае, я ожидаю, что я могу создать крайне заблокированного пользователя в качестве глобального логина и использовать синхронизированные сеансы SSH.таким образом, каждый пользователь получает свой собственный chroot / process / client.Да, я знаю, что это, вероятно, "Очень плохая идея (тм)".Но я должен был выбросить это как возможность.
Я ценю любую конструктивную обратную связь.Оскорбления, упреки и высокомерие будут хмуриться, распечатываться и выплевываться.
-CH