[11.x] Adds support to allow specifying number of days to keep failed jobs in DynamoDB #54295
+18
−8
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.
This PR adds a new config option for queue.failed (when using DynamoDB):
expire_days
This allows controlling the expires_at value for jobs that are inserted into DynamoDB, instead of the hardcoded value of 3. (Still defaulted to 3 in the absence of the config option)
This pull request introduces changes to the
DynamoDbFailedJobProvider
class to make the expiration period for failed jobs configurable. The main modifications include adding a new property for expiration days, updating the constructor to accept this new parameter, and adjusting the tests to accommodate this change.Key changes:
Configuration of Expiration Days:
src/Illuminate/Queue/Failed/DynamoDbFailedJobProvider.php
: Added a new protected propertyexpireDays
, updated the constructor to acceptexpireDays
as a parameter, and modified thelog
method to use the configurable expiration period. [1] [2]Service Provider Adjustment:
src/Illuminate/Queue/QueueServiceProvider.php
: Updated thedynamoFailedJobProvider
method to pass theexpire_days
configuration value, defaulting to '3' if not provided.Test Updates:
tests/Queue/DynamoDbFailedJobProviderTest.php
: Updated multiple test methods to include theexpireDays
parameter when creatingDynamoDbFailedJobProvider
instances. [1] [2] [3] [4] [5]