[x] I've ensured the unit and smoke tests are still passing - either by running yarn test:unit and yarn test:smoke:[ios|android] or by checking the appropriate CircleCI builds' statuses.
[x] I've manually tested whether the changes I made work as expected.
Motivation and Context
We want to use HTTP endpoints for updating www with build status updates so we could get rid of the SQS consumer in www.
I added the endpoints in https://github.com/expo/universe/pull/5592
Description
I split the work into 4 commits to make reviewing this PR easier:
1st replaces sending status updates to SQS with HTTP endpoints.
2nd adds logic that tries to send the status update to www up to 5 times. If the status update fails, the request body is saved to Redis and then we try to resend it up to 5 times. The resend logic is being run periodically (every 3 minutes).
3rd adds logic for leader election - only one Turtle instance should be responsible for resending status updates. I mostly copy-pasted the class from Turtle v2.
Checklist
yarn test:unit
andyarn test:smoke:[ios|android]
or by checking the appropriate CircleCI builds' statuses.Motivation and Context
We want to use HTTP endpoints for updating www with build status updates so we could get rid of the SQS consumer in www. I added the endpoints in https://github.com/expo/universe/pull/5592
Description
I split the work into 4 commits to make reviewing this PR easier: