wp-crontrol icon indicating copy to clipboard operation
wp-crontrol copied to clipboard

Run Now often causes error

Open robgilde opened this issue 2 years ago • 3 comments

Found in 1.5.2. Possibly related to Issue #33. I stepped through this in a debugger and I think I've identified the root cause.

force_schedule_single_event() calls _set_cron_array() _set_cron_array() calls update_option() update_option() returns "true if the value was updated, false otherwise". False is not necessarily an error condition - it can be false if the save was unnecessary. However, the false result is propagated back up and force_schedule_single_event() at line 108 treats it as an error. I think line 108 should be something like if ( $wp_error && ! $result ) {

Thanks!

robgilde avatar Mar 15 '23 22:03 robgilde

Thanks for the issue. I'll do some testing!

johnbillion avatar Mar 15 '23 22:03 johnbillion

False is not necessarily an error condition - it can be false if the save was unnecessary

This is true, but in the case of force_schedule_single_event() the save is surely always necessary. In your debugging are you finding that the save inside update_option() doesn't happen?

johnbillion avatar Mar 15 '23 22:03 johnbillion

Yes at line 485 I think $value === $old_value is true.
However I'm having some other problems at the moment and my dev env is hosed so I can't be certain that that is not an error. Thanks for looking into this!

robgilde avatar Mar 15 '23 23:03 robgilde