[wp-trac] [WordPress Trac] #49520: Feature request: Migrate cron from a single serialized wp_options entry to its own table
WordPress Trac
noreply at wordpress.org
Wed Feb 26 20:28:37 UTC 2020
#49520: Feature request: Migrate cron from a single serialized wp_options entry to
its own table
--------------------------+-----------------------------
Reporter: archon810 | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Cron API | Version: 5.3.2
Severity: major | Keywords:
Focuses: |
--------------------------+-----------------------------
For as long as I can remember using WordPress, its Achilles heel has been
cron.
`cron` is a single serialized entry in `wp_options`, and on busy sites is
subject to race conditions that oftentimes continuously overwrite the
`cron` value with outdated data, resulting in:
1. completed events coming back (and thus running more than once)
2. arguably worse, `schedule_single_event()` losing events because they're
overwritten
The latter specifically has long been responsible for the infamous "missed
schedule" issue in WordPress - a critical functionality of publishing
posts at a certain time being completely unreliable.
https://core.trac.wordpress.org/ticket/39924
https://core.trac.wordpress.org/ticket/41965
etc.
https://github.com/humanmade/Cavalcade needed to be created to properly
resolve this, but it's a 3rd party solution that isn't as trivial to set
up as activating a plugin, and shouldn't be necessary in well-designed
software. I see the cron problem as WordPress's biggest and most glaring
flaw, and I'm sure many would agree.
So, what's the solution? Can cron be migrated into its own wp_cron table
and the related functions made to interact with the migrated data
transparently to the user? I know it'd be a pretty big project, but it's
one of those bandaids that just needs to be finally ripped off.
https://core.trac.wordpress.org/ticket/15148 was closed as `wontfix`, but
I hope the team can reconsider.
Thank you.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/49520>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list