### Description The playout exchange was changed to `fanout` without migrating the previous `direct` exchange. This cause issues during upgrades, such as: ``` amqp.exceptions.PreconditionFailed: Exchange.declare: (406) PRECONDITION_FAILED - inequivalent arg 'type' for exchange 'airtime-pypo' in vhost '/libretime': received 'fanout' but current is 'direct' ``` This is documented upstream in https://www.rabbitmq.com/docs/queues#property-equivalence This change provides an upgrade path by renaming the exchange, and leave the old exchange behind. Loosing messages is not a concern for the playout queue. ### Testing Notes - Checkout version `4.4.0` - Run `make dev` - Checkout 9e55d3bb6f2fa0f9a4dc858359a99e9d50c826a4 - Run `make dev` - See the exception in playout: `docker compose logs -f playout` - Checkout this PR - Run `make dev` - See playout fine working. ### **Links** https://github.com/libretime/libretime/pull/3161
LibreTime Playout
LibreTime Playout is a service that will ingest a schedule and stream it.
Development
# Install dependencies
make install
# Activate the development environment
source .venv/bin/activate
# Run linters
make lint
# Run tests
make test
# See the Makefile for more commands
cat Makefile
History
This tool was born out of a collaboration between Open Broadcast and Sourcefabric.
The authors of the code are:
Original Authors:
- Jonas Ohrstrom jonas@digris.ch
- Paul Baranowski paul.baranowski@sourcefabric.org
- James Moon james.moon@sourcefabric.org
Almost a complete refactor/rewrite by: Martin Konecny martin.konecny@gmail.com