Как отслеживать изменение базы данных с дэсктоп приложения?

У меня есть приложение на django4/postgresql. Основная суть приложения - делать заказ еды. Я планирую сделать desktop приложение(скорее всего тоже на python), которое должно будет отображать список всех заказов. Я сделал api для получения и изменения данных(в заказах), но у меня возник вопрос по получению данных. Как с дэкстоп приложения получать данные с сервера только когда появится новый заказ? Я пока придумал метод отправления GET запроса каждые 5 секунд, но из-за него я думаю будут возникать ошибки в работе приложения. Можно ли это решить нормальным методом?

В модели которую хочется отслеживать нужно добавить хук на апдейт и инсерт. В этом хуке шлёшь сообщение в очередь (самописную или rabbitmq - в какую удобнее).

Добавь websocket или longpolling ссылку на контроллер и там пересылаешь сообщения из очереди в приложение.

Посмотри вот этот туториал https://channels.readthedocs.io/en/stable/tutorial/part_2.html . Останется только добавить хук на модель https://docs.djangoproject.com/en/4.1/ref/signals/#django.db.models.signals.post_save.

Вернуться на верх