Restrict purging of recurring jobs to bundle-managed schedule #7
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 addresses excessive re-scheduling in the JobRecurringScheduleListener.
Currently, there are two issues in my opinion:
The listener purges all schedules, including those from Symfony's native Scheduler bundle.
This means that if you have other tasks defined with the
#[AsCronTask(...)]attribute, all but the first one are purged and will no longer be executed.The first one still runs, but only because of the
$key === 0check.The schedule is recalculated whenever any recurring job is executed, rather than only when the heartbeat is received.
With many recurring jobs, this leads to unnecessary load.