MetPX / MetPX/wmo_mesh

Add AMQP 0-9-1 to the wmo_mesh demo.

Open
#5 2 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
Python
Stars
4
Forks
2
PR merge metrics
No merged PRs in 30d

Description

it should be reasonably straight-forward to add the ability to specify amqp: as the start of a broker URL, and then have the wmo_mesh demo work with amqp brokers similarly to how it works with mqtt ones. The main changes:

* need to declare the exchange one is publishing (--post_exchange) to (equivalent to the root of the topic tree.) It needs to have certain properties... durable=true, etc... I would copy whatever Sarracenia does by default, as it is the result of years of tuning.

* need to declare the queue_name, one can use the mqtt 'client_id' as the queue name...

* --clean_session in wmo_mesh means essentially deleting the queue and exchange, and then re-creating them. This will clear out all old bindings.

Bindings are stateful in AMQP, and hard to maintain because the protocol allows no means of inspecting them, so the only option for now is the sledgehammer of delete/recreat.

Probably want to add a --exchange option, as the exchange one is subscribing to is currently not settable, and they can be different in practice.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing MQTT broker-URL handling and clean_session behavior in the wmo_mesh demo, then review how Sarracenia declares exchanges. Done means the demo accepts amqp: broker URLs, declares the required publishing and subscription resources, handles queue and exchange cleanup, and supports a separately configurable subscription exchange.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.