Investigate implementing a dependency injection framework in python (such as the above, though alternatives can be considered). Implement it with the message queueing example (see below points), but try to keep the implementation agnostic enough that it can be applied in other examples.
[x] Create a pattern/factory for message queueing.
[x] Create a driver that works with a google pubsub.
[x] Create a driver that works with RabbitMQ (or other non-platform message service).
[x] Create an example of it working with test mocks.
This is principally a spike, but we would like to get a viable message queue handler out of this.
[x] We need some kind of retry-on-failure logic.
Can we re-use the GCP error handling functionality to do this for us or is it something we need to implement ourselves?
Need to consider how this interacts with the only once delivery.
https://python-dependency-injector.ets-labs.org/examples/sanic.html
Investigate implementing a dependency injection framework in python (such as the above, though alternatives can be considered). Implement it with the message queueing example (see below points), but try to keep the implementation agnostic enough that it can be applied in other examples.
This is principally a spike, but we would like to get a viable message queue handler out of this.