LINUX.ORG.RU

Python, asyncio, удаление ненужных очередей

 , , ,


0

1

Привет ЛОР!

В данный момент пилю прототипы сервера, прокси и клиента для одного IoT стартапа. Суть такова: есть IoT девайс (сервер), к которому должно подключаться и интерактивно взаимодействовать мобильное приложение (клиент), поскольку девайс сидит за NAT-ом, то нужен прокси с белым IP, через который будет организована связь.

Вчера запилил прототип прокси в котором для каждого сервера/клиента создается очередь сообщений (asyncio.Queue) при первом обращении к прокси.

Мне для прототипирования достаточно просто создавать эти самые очереди, и хрен с ней, с текущей памятью, но…

Возникли вопросы:

  1. как правильно удалять эти самые очереди, если к ним давно небыло доступа на чтение?

  2. Есть ли какие-то паттерны для решения подобных задач?

    1. Хз. Не amqp ли тебе нужно? (может быть жирновато для iot, не уверен)
    1. На вскидку, я бы сделал обёртку над очередью, где хранился бы таймстепм, и обходил бы очереди в бесконечном цикле, допустим, раз в секунду в фоновой корутине.
WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Хз. Не amqp ли тебе нужно? (может быть жирновато для iot, не уверен)

В проде что-то подобное и будет.

На вскидку, я бы сделал обёртку над очередью, где хранился бы таймстепм, и обходил бы очереди в бесконечном цикле, допустим, раз в секунду в фоновой корутине.

Тоже об это думал, Спасибо.

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от theNamelessOne

Не, у нас тут хипсторский аджайл стартап, никаких бинарных протоколов, только json, только хардкор!

Для работы c MQTT надо иметь TCP/IP стек с PPP и сокетами. А у меня всего будет 20к памяти программ в лучшем случае, так что MQTT нафиг.

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.