We deployed this plugin today, and several posts were published early (all set within the next few hours). Some farther out were handled fine. I believe this is because of the usage of the field ‘post_date’ and the MySQL function CURRENT_TIMESTAMP(). post_date uses the configured WordPress instance time, and CURRENT_TIMESTAMP() uses the local server time. However, those are not necessarily the same in all instances. Our WP instance is set to CDT (America/Chicago), but our actual servers all run UTC (within AWS hosted instances). This mismatch I believe led to anything within the next 5 hours being published too early.
I don’t know that there is an easy solution to this problem that would support MySQL as low as 4.0 and WordPress down to 2.9, however, any system with MySQL’s UTC_TIMESTAMP() available, and the ‘post_date_gmt’ column in wp_posts, should be able to use those instead to improve the reliability.
There may be a more robust and backwards-compatible solution, but for now we’ll probably use a modified version of the code built into our own internal plugin using that solution unless this is fixed in this plugin. Not sure how maintained this plugin is, but I am also posting this for the future reference of any other users who might run into a similar issue.
]]>