Store job attempt in job payload and refactor worker #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #14
Fixes #22
Change 1: Store job attempt in job payload
ApproximateReceiveCount
should not be used when processing SQS jobs in Lambda. See https://link.medium.com/uUkT2W9bTbb for more info. This PR adds functionality to store the current attempt on the job payload, so we don't have to depend onApproximateReceiveCount
.One downside of this, is that because we can't update sqs messages, we always have to re-create a message when releasing it back onto the queue.
Change 2: Refactor workers
This now uses the built-in worker to process jobs. This is more in line with how Laravel processes jobs for other drivers.
The code is 'backwards compatible' in the sense that the example
worker.php
remains identical. If you did not change that, all should continue working as usual.The code is heavily inspired (and sometimes copied) from https://github.com/laravel/vapor-core/