Django слушатель сервера Mealtime - PullRequest
0 голосов
/ 28 января 2020

Я довольно хорош в django. У меня есть postgresql с некоторой таблицей, и эта таблица заполнена C ++ apps. Теперь я хочу создать приложение django для визуализации в режиме реального времени, когда в базе данных происходят какие-либо изменения, оно должно обновляться в реальном времени в моем django интерфейсе.

Я не понимаю, какую технологию пи c, Я слышал о django-channel, но не совсем уверен, смогу ли я сделать это с ним.

Цель этой статьи - получить рекомендацию по технологии.

Может ли кто-нибудь помочь в этом случае?

1 Ответ

0 голосов
/ 29 января 2020

С каналами вы можете сделать несколько вещей:

A) Создать асинхронные c обработчики на основе ожидающих соединений HTTP / Websocket, которые могут оставаться открытыми в течение длительного времени.

B) отправить сообщения между этими дескрипторами (или из других мест) таким образом, что если обработчик подписан на group, будет вызван метод для этого экземпляра обработчика соединений.

Чтобы ваши обработчики соединений (потребители говорят Django) Получайте обновления всякий раз, когда вы обновляете БД, вы можете сделать одну из двух вещей.

1) Когда вы пишете в БД, отправляете сообщение на канальном уровне. 2) Когда ваш потребитель подключается, установите Postgres триггер события https://www.postgresql.org/docs/12/event-trigger-definition.html

(2), который позволит вам получать события всякий раз, когда БД обновляется, даже если код, выполняющий обновление, имеет понятия не имею о каналах. (1) с другой стороны, для импорта каналов потребуется весь код, вносящий изменения в базу данных, но это более стандартно.

...