mp-co-ru / mpc-peresvet

Data acqusition, GUI, decision making. IoT, SCADA, dispatching and monitoring.
https://mp-co-ru.github.io/mpc-peresvet/
Apache License 2.0
0 stars 0 forks source link

Проверить привязку очереди ответов #257

Closed Vovaman closed 6 months ago

Vovaman commented 6 months ago

Код app_svc.py:

async def _amqp_connect(self) -> None:
        await super()._amqp_connect()

        self._callback_queue = await self._amqp_channel.declare_queue(
            durable=True, exclusive=True
        )
        await self._callback_queue.bind(
            exchange=self._amqp_publish["main"]["exchange"],
            routing_key=self._callback_queue.name
        )

        await self._callback_queue.consume(self._on_rpc_response, no_ack=True)

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

Vovaman commented 6 months ago

Не ошибка. Очередь создается с уникальным именем:

async def _amqp_connect(self) -> None:
        await super()._amqp_connect()

        self._callback_queue = await self._amqp_channel.declare_queue(
            durable=True, exclusive=True
        )
        await self._callback_queue.bind(
            exchange=self._amqp_publish["main"]["exchange"],
            routing_key=self._callback_queue.name
        )

        await self._callback_queue.consume(self._on_rpc_response, no_ack=True)