I had a piece of content that I used the Scheduled for Later in the published state. The item did not publish at the selected time. So I did a further test…I scheduled a piece of content, it did not publish at the scheduled time, so I went to edit and left the time the same, and hit save 10 minutes after the content was scheduled for. As expected I got a message that said "Scheduled publish time cannot be in the past." I just wanted to check to see if the server and site time were correct.

Is there something I can do to get this working, a setting  I'm missing possibly?

Accepted answer

I wouldn't have thought so (but maybe someone more expert knows).  From my experience at looking at functions that cron calls, they have their own throttling (using a state in the database) to ensure they aren't necessarily called each time cron is run.

Comments

It could be that cron had not triggered in that time.  Perhaps test by setting in the future and manually run cron after the time

Admin bar > Home/Back to site > Run cron

That worked. I found that my cron was set to run every three hours. It seems for the published later to be anywhere precise that the cron would have to be scheduled to run every 10 minutes. Would this cause significant performance issues?

I wouldn't have thought so (but maybe someone more expert knows).  From my experience at looking at functions that cron calls, they have their own throttling (using a state in the database) to ensure they aren't necessarily called each time cron is run.

The way I understand this, if you schedule a publish time for 8:00 but your cron runs every three hours, say at 7:00, 10:00, 13:00 etc, the content would only publish at the 10:00 cron run, which is the first cron run after the schedule time.  If you need it to publish on time, you need to make sure your cron runs very shortly after your scheduled time, which is why a 10minute cron works: if you miss the 8:00 cron, the 8:10 cron at least would trigger the publish. 

A 3 hour cron would of course work just fine to publish a piece of content scheduled for 8:00, if that cron ran at 5:01, 8:01, 11:01 etc.

That's what I gathered. I end up setting my cron to 10 minutes.