Copied over from https://github.com/flutter/cocoon/pull/1834/files#r869714524
- Create one message per build, this way we can remove the retry logic from here and avoid duplicated builds as a single passed/failed schedule attempt will be associated with the message
- Ensure that messages are not being duplicated - this requires to update the subscription to ensure a single message is delivered. This will prevent the message queue to grow exponentially when there is an outage and prevent multiple builds for the same commit/builder combination.
- Update the configurations to ensure the messages eventually expire, there will be messages that will fail forever until they expire.