fix: safely shut down crons using new payload.destroy method, improve jobs autorun docs, adds e2e test #12196
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.
Safely shut down cronjobs
When Payload is configured to automatically create cron jobs (e.g., via
config.jobs.autoRun), our CI began experiencing frequent MongoDB and SQLite connection errors. This stemmed from two core issues:Fixes:
payload.destroy()method, which gracefully shuts down all registered cron jobs before callingpayload.db.destroy(). This ensures no cron jobs persist across test suites, aspayload.destroy()is now invoked in theafterAll()hook of each suite.Docs improvement
Fixes #12658
Clarifies that
jobs.autoRunonly runs existing jobs already in the queue - it does not enqueue jobs itself.Adds e2e test coverage
Adds an e2e test to verify
jobs.autoRunfunctionality, which previously had no test coverage.