[9.x] Fix job delay override + data_get()
improvement to deal with closures
#46591
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.
Fix for #46568 and an improvement for #46505. Minor changes have been added for all queue drivers (Database, SQS, Redis, Beanstalkd) so a
$delay
property can be passed.I would say this still is an issue on the basis of:
The code sample above should delay the job obviously (which before it didnt). Setting
public $delay = 60;
in some job class should now always make sure the job is delayed 60 seconds (unless you override it usingQueue::later(30, new MyTestJob)
) which imho is also expected behaviour.Trace/Explanation: Everything goes through the
Illuminate\Queue::enqueueUsing(...)
which in turn calls the$callback
which is its fifth argument. This callback differs per queue driver and has a$queue
param.