Я полусерьезно возился с Python, чтобы создать своего рода сервер-привратник между системой с ограниченным доступом и приложением GAE. Я собираюсь начать с более общего вопроса, прежде чем перейти к конкретному вопросу, связанному с кодом.
Обзор
Система ограниченного доступа настраивается с помощью приложения Python командной строки, которое открывает соединение WebSocket с приложением Django Channels, запущенным на промежуточном сервере, и начинает отправлять регулярные контрольные кадры, что подтверждает приложение Django. Все идет нормально. Время от времени приложение Django будет получать HTTP-запрос, который будет проверять, и, если он пройдет, отправит инструкцию другой системе. Теперь, чтобы сделать его эффективным, у меня возникла идея повторно использовать существующее соединение WS и скопировать на него кадр инструкции.
Вопрос
Django позволяет мне легко получать кадры в сокет и действовать в соответствии с указанными кадрами. У меня проблемы с отправкой сообщения по существующему каналу: я не могу на всю жизнь вызвать метод WebsocketConsumer.send()
, даже через оболочку, из метода, который не у потребителя, но определен в другом месте и принимает потребителя в качестве параметра (лучшее, что я мог придумать до сих пор). Возможно ли это вообще (этот вопрос указывает на самом деле это невозможно)?
Заранее благодарим за любые указатели. Если будет, завтра я могу обновить вопрос своими классами.