We run all of our blogs using WordPress. Wordpress.org releases updates to their software on a regular basis, adding new features, making it more secure, faster etc. Normally upgrading is just a matter of downloading the new source code, testing it out on a dev server, then deploying it on our live servers.
Just recently when we upgraded to version 3.3.1 this process didn’t go as smoothly as it normally does and I’d like to briefly document here what the issue was for the benefit of other people and to remind myself of what happened here for future reference.
After deploying the new version, things looked fine. Over the next few days, however, problems started to arise. Scheduled posts were not getting published on time and the local comment sync from Disqus was not working automatically. This only was occurring on the Streetsblogs, however, and not on GothamSchools.
The short story is that I found that all the problems were related in that they relied on the wp-cron.php script to initiate them. This is a background process of WordPress that manages all scheduled and routine tasks. I found by rolling back to the old version of wp-cron.php, everything would start working again.
I have now rolled back all instances of the Streetsblog WordPress to use revision 13725 of wp-cron.php. The reason why I suspect the GothamSchools blog not to have this problem is because it is running on the standard apache web server while the Streetsblogs run on the less common lighttpd web server.
The next step would be to investigate exactly where the bug is and why it is failing. The place to start for that is by studying the differences between the old a new versions of wp-cron.php. I’ve also reported the problem to the WordPress developers.