Support » Fixing WordPress » WordPress 4.0 & Missed Schedule posts

  • Andre


    I’ve had multiple missed schedule posts since upgrading to WordPress 4.0, beginning with the RCs and continuing with the stable release version. In many cases there were multiple posts scheduled at the same time and only 1 of them missed. In addition other scheduled tasks, specifically backups via Backup Buddy, run on schedule. This leads me to believe it’s not a standard issue of nothing activating the cron jobs. I didn’t have this issue on 3.9.x.

    Is anyone else experiencing this? Any suggestions for fixing? I’ve begun scheduling test posts and documenting results on the site experience the issues,

    I’m using 4.0 with multisite and multinetwork, PHP 5.5.16, with no caching plugins installed.

    Thank you for your assistance.

Viewing 15 replies - 1 through 15 (of 22 total)
  • Andre


    Thank you. I believe the issue is deeper because some posts that are scheduled for the same time are posting as expected, which must mean something is firing the cron jobs.

    Just noticed today that one of my blog posts also “missed it’s schedule”. This post has been going live every Wednesday morning @ 5 AM for four weeks now, and this is the first one that hasn’t posted.

    I’m using vanilla 4.0, have no caching plugins, and never had this problem with 3.9.

    All of my scheduled posts have also starting missing since 4.0 upgrade.

    Is there anyone at WP that can help us with this issue? I am having the same problem. And can they respond with terms and instructions for those of us not versed in IT. I have no idea what a cron job is so telling me to edit it doesn’t mean anything.

    Like janet4now above suggested, read the article. If you don’t care about the why, just the how, go get the WordPress Missed Schedule plugin. Not much in the way of instructions for the plugin. You install it; it works. Fixed my problems.

    Now, if only WordPress could fix this on their own.

    Brian Watt
    Integrant Services

    Same problem here after 4.0 update

    Same issues here.. Had a release scheduled to go out this morning at 6am and found the ‘missed schedule’ after I got into the office. In regards to @bdwatt0 – we do care about the why but why settle for a quick fix and add more files via plugins when this is a core fix?.


    I’ve tried to hard code the core no success. Also I didn’t want to install another plugin. Tested some suggestions about scheduling a real cron in Cpanel to “wp-cron.php?doing_wp_cron”. Also no success.

    I’m using WP 4.0, and have disabled wp cron in wp-config.php

    So what I have done is this: I’ve opened wp-cron.php and started to insert some “echos” around the file so I could identify where the file was stopping it’s execution.

    Found out that execution was stopping after running “if ( empty( $doing_wp_cron ) ) {” (line 65 to 75 of wp-cron.php).

    I saw that this statement is trying to identify the existence of $doing_wp_cron so, otherwise, can use a $_GET or forcing a new lock.

    So, the solution I’ve found is simply using this:

    Instead of this:

    When setting a real cron job. All the “missed scheduled” posts were posted.

    This seems to work for me and I hope that help you guys also.


    I’ve had issues with cron jobs not running at all. This is an established multisite install and it seems to have started when upgrading to 4.0.

    I see the automatic wp-cron.php hits in the logs, like this:
    [14/Oct/2014:08:51:01 -0400] "POST /wp-cron.php?doing_wp_cron=1413291061.6062629222869873046875 HTTP/1.0" 200 165 "-" "WordPress/4.0;

    But the jobs don’t run. No errors anywhere. If I manually fetch the wp-cron.php file, the jobs run. Anyone else noticing this?



    I just upgraded my multi-site install to 4.0 and am also experiencing missed schedule problems. Like the other posters I’d rather not have to install a plugin to fix a feature included in core.

    We are also experimenting some missed schedule problems on a multisite install upgraded to 4.0.

    John Parris


    This might help others. In my case, it was a caching issue. My site was configured to use APC. Around the same time I had updated PHP to 5.5x, which isn’t supported by APC at this point. I had forgotten about doing the PHP update and the whole APC thing. Disabling APC fixed my cron issues.

    I am also having a problem where scheduled posts intermittently fail to publish. This appears to be happening with around half of all posts I use scheduled publishing for. I do not know what is causing it, however I have tried to eliminate a few possibilities.

    I have tried disabling all plugins and reverting to a basic theme (twentytwelve), but even then some posts still miss their schedule.

    I also set up a different WordPress installation on the same server. On this one I set 15 posts to schedule publish on different days and all of them published successfully.

    Based on the above it doesn’t seem to be a problem with my plugins, theme or server set-up.

    Therefore I don’t think the solution suggested by janet4now would help. And unlike mindctrl I am not using an APC cache so this does not appear to be a solution.

    The plugin suggested above caused conflicts with other plugins on my site, so I’m not able to use it. Besides which, it seems a bit of an unsatisfactory sticking plaster on something which has worked very well on my site for years until recently.

    I am using WordPress 4.0.0. I’d appreciate any suggestions as to what might be causing this problem or how to investigate it as I’m pretty well stuck at the moment.

    Renanno – I’d like to try the solution you suggested but am having trouble. I can see the code you’re referring to in wp-cron.php:

    if ( empty( $doing_wp_cron ) ) {
    	if ( empty( $_GET[ 'doing_wp_cron' ] ) ) {
    		// Called from external script/job. Try setting a lock.
    		if ( $doing_cron_transient && ( $doing_cron_transient + WP_CRON_LOCK_TIMEOUT > $gmt_time ) )
    		$doing_cron_transient = $doing_wp_cron = sprintf( '%.22F', microtime( true ) );
    		set_transient( 'doing_cron', $doing_wp_cron );
    	} else {
    		$doing_wp_cron = $_GET[ 'doing_wp_cron' ];

    But I’m not sure how to do this:

    So, the solution I’ve found is simply using this:

    Instead of this:

    When setting a real cron job.

Viewing 15 replies - 1 through 15 (of 22 total)
  • The topic ‘WordPress 4.0 & Missed Schedule posts’ is closed to new replies.