WordPress.org

Ready to get started?Download WordPress

Forums

Missed Schedule - Scheduled Posts Not Publishing With 2.7 (36 posts)

  1. CreditShout
    Member
    Posted 5 years ago #

    I recently upgraded to WordPress 2.7 and ever since I did my scheduled posts no longer work. I will schedule a post and then I will check it after it was set to go up and it will just say "Missed Schedule."

    I am with HostGater, and I emailed them about it but after going back and fourth for a day they just pointed me over here. The server I am on meets all of the requirements etc...

    Is there a fix for this? Is anyone else having the same problem?

  2. wesg
    Member
    Posted 5 years ago #

    I just noticed that this on my scheduled post from today. I wonder if it has something to do with wp-cache.

  3. geekeleet
    Member
    Posted 5 years ago #

    I am having the exact same problem. New installation of WordPress 2.7 and regular publishing works fine. Whenever I schedule a post, it gets "missed schedule".

  4. geekeleet
    Member
    Posted 5 years ago #

    Got it fixed. Very simple.

    I went to my PHP install directory and opened PHP.ini. I then uncommented the following line:

    extension=php_curl.dll

    Next I did an IIS reset, because my wordpress runs on IIS7. Went back into wp-admin and updated the schedule on just 1 post. That triggered the rest of the posts to run their schedules. All good now!

  5. Harvey
    Member
    Posted 5 years ago #

    This happens to me too. I live on scheduling so it hurts! My host doesn't give me the option to go in and mess the PHP config though.

  6. tgiokdi
    Member
    Posted 5 years ago #

    I'm having this same problem, plus all my third party scheduling code is not longer working, ie TDO-MF.

    I've looked at the entries and for the life of me can't see any difference between the posts that are making it to the site and the ones that aren't. it's very annoying to have to babysit the database :(

  7. minusonebit
    Member
    Posted 5 years ago #

    God this sucks, they need to fix this. I wish they'd work on making stuff work right instead of making it pretty in the dashboard.

    Once the damn post gets in this status, you can't even go back in and post it immediately because there is only an option to put another time in and it misses that time, too.

  8. MoneyNing
    Member
    Posted 5 years ago #

    It's most likely not the problem of wordpress so they will never "fix" it. For me, it had to do with the IP not resolving to the correct place on my server. Check out the post below for details as this one helped me solve it:

    http://busyblogging.com/technical/wordpress-problem-with-scheduled-post-solved/

  9. minusonebit
    Member
    Posted 5 years ago #

    There are 100s of people having a problem with this. There are several other threads if you search around. I have a full rack of collocated severs and I have root access to every single one of them. The servers run a bare minimum of crapware to reduce conflicts and keep things simple. MySQL, Lighthttpd, PHP and a couple of other things and that's it. If WP is not working as designed on my servers and 100s of other people's accounts (most of whom are most likely hosting with webhosts rather than running their own servers, which in turn means they are likely following the more traditional LAMP platform much more than I am) than its WP and not my server that's broke.

    I ditched phpBB because they were constantly playing with the core and breaking stuff. There would be a release and then 10 releases to fix the stuff they should have fixed in the first release but didn't because they didn't bother to test properly. They were always worried about how things looked rather than how well they worked. With very few exceptions, anytime developers start focusing on making things pretty, the software's performance and reliability suffers. I know Web 3.0, AJAX and all that other crap is all the rage. But just like Flash and Shockwave - just because its cool and just because its popular doesn't mean that it doesn't suck and doesn't mean you should adopt it. Worse yet, the end user was always the first beta tester. Its looking like its becoming the same for WP.

    Some code monkeys simply don't understand the meaning or concepts behind terms like stable, production, development, bleeding edge, edge, etc. 2.7 was not ready for release, but they pushed it out anyway. In 2008, we have had how many releases? Too many. So many that I wrote a script to crawl the server and update the 100 and something WP installations that I have running in one shot, since doing it manually was becoming a huge burden on myself and my admin.

  10. minusonebit
    Member
    Posted 5 years ago #

    Ah well, at least this will be a functional workaround. You might not be able to stop the dog from taking a dump on you, but at least you can clean up after it.

  11. fyre
    Member
    Posted 5 years ago #

    Has anyone tried a cron job using curl or wget (or in the case of HostGator, 'GET') to access the index.php every so often? If the scheduled posting is running off of wp-cron, then triggering a pagelaod near the time for the scheduled post - or soon after - may result in the post getting posted appropriately. Then again, if a high-traffic blog (and I mean, a hit a minute during scheduled posting times) is getting this issue, then it's not going to help, as it's something else.

    Just my idea.

  12. perceptionistruth
    Member
    Posted 5 years ago #

    I just spent two days diagnosing an issue like this on my web host (which had been working fine).

    In my case, it turned out that the web server wasn't able to receive HTTP HEAD's through the Squid proxy in front of it.

    WordPress sends an HTTP HEAD to check that wp-cron.php exists before loading it, and that was failing, so it was never running.

    You can test this by using the command line curl to send HEAD requests to your site,

    curl --head "http://your.site.here.com/blog/wp-cron.php" for example.

    If you get any errors back, then ask your web host to investigate.

    The other issue is that the WordPress code sends that request to the same URI you use to connect to the blog so it has to be able to talk to itself. Some hosts block outgoing connections from the servers, or don't set them to be able to route correctly to themselves. That's harder to check if you don't have direct access to the server, but you could always ask a host provider to make sure it works.

  13. Nadiamode
    Member
    Posted 5 years ago #

    why we have go to curl php.ini thing ..????

    it's harder for end user ?

  14. minusonebit
    Member
    Posted 5 years ago #

    So what it comes down to is we have all these hacks in place which seem to be VERY temperamental and HEAVILY dependent on the server environment allowing non-standard things (like a server being able to talk to itself) so people don't have to set a cron job on the server?

    Give me a break. Whole setup is really poor. Just make a file that I can set as a cron and have it do the updating, and add the ability to set cron jobs to the software requirements, at least for that feature set.

  15. perceptionistruth
    Member
    Posted 5 years ago #

    You can run cron jobs now, just point to wp-cron.php?

    My post was simply to make sure people are aware of what ISP's can get wrong which block WP talking to itself in the background.

  16. minusonebit
    Member
    Posted 5 years ago #

    So adding wp-cron.php to the cron cycle will take care of the scheduling issue? Is that what I am hearing?

  17. Lloyd Budd

    Posted 5 years ago #

    In other threads, MichaelH writes:

    See if this helps:
    http://wordpress.org/support/topic/227101?replies=8#post-960717

    Essentially the suggestion is to visit Administration > Settings > Writing and delete all but http://rpc.pingomatic.com/ from the Update Services list.

    Please let us know if that does (or does not) work for you. Thank you.

  18. Phil Richards
    Member
    Posted 5 years ago #

    No that did not work for me. I have only had http://rpc.pingomatic.com/ in the Update Services since we started.
    I still have any scheduled posts going past their due date/time and showing as Missed Schedule.
    Can you advise any further ?

  19. minusonebit
    Member
    Posted 5 years ago #

    I have ~15 very fast ping sites in my list. I am not willing to delete any of them on my main sites as a huge drop in traffic will result. This missed posts issue was plaguing a few of my blogs where all I have is pingomatic (have not built a customized list for those yet) so this is not the whole problem.

    However, while this COULD be part of the issue (See http://trac.wordpress.org/ticket/8923) its still poor implementation on the WP side of things. A timeout of 0.01 seconds for cron is just silly. Like was suggested in that ticket, someone needs to take a step back and re-evaluate how stuff is being done behind the scenes.

  20. Samuel Wood (Otto)
    Tech Ninja
    Posted 5 years ago #

    @minusonebit:

    So what it comes down to is we have all these hacks in place which seem to be VERY temperamental and HEAVILY dependent on the server environment allowing non-standard things (like a server being able to talk to itself) so people don't have to set a cron job on the server?

    No, that's not correct at all. A normal, correctly configured, server can talk to itself just fine. It's only when you start doing strange and weird things like not having DNS setup properly or blocking loopback connections that you cause problems.

    A stock Red Hat Enterprise web server works perfectly, as does every other Linux server system I've ever configured. As long as you don't break it intentionally in some way, of course. The problem is that a lot of poor server admins tend to break things like loopback because they think that it improves security in some way. It doesn't, and all the guides telling you to do stuff like that are wrong.

  21. Samuel Wood (Otto)
    Tech Ninja
    Posted 5 years ago #

    So adding wp-cron.php to the cron cycle will take care of the scheduling issue? Is that what I am hearing?

    No. wp-cron has a block on it to prevent hits from anybody except the same WordPress installation as it's using. This is to prevent denial of service attacks. What you need to do is to figure out why your php setup is unable to make an http connection back to itself. When you've worked that out, then the problem will go away.

  22. minusonebit
    Member
    Posted 5 years ago #

    Well, loopback is disabled for security purposes. Allowing a server to talk to itself is a really bad idea. First off, there is no need to have a server talk to itself. The first rule of security is have as few doors into the system as possible. Less entry points means fewer places bad guys and their tools can break in. There is a reason why most bank vaults do not have a window and only one door in and out.

    The only reason a server has to talk to itself is lazy software developers who want to use hacks to get around the proper way of doing things. I.e. instead of setting up a server cron job, we have WP kick itself in the butt to go and do things.

    The same developers will always be the first ones to blame problems on host machines, because properly configured, secure servers (and that's the only time a server is properly configured is when its secure, anything else is wrong regardless of how many people do it) are the exception rather than the rule. Shared hosting places leave all kinds of crap turned on to maintain maximum compatibility (at the expense of security) with poorly made software (take phpBB for example, a wonderful example of how NOT to design software) which encourages developers to continue their habits of releasing crap and blaming the few users who do know what is going on for problems that in actuality started on the other side of the table.

    I am not going to put the entire network at risk to run WordPress, I'd rather get rid of WordPress first. For this same reason, I refuse to run Zend optimizer because Zend allows scripts to run without me being able to see what they are doing. Of course, the developers keep telling me thats so people cant steal their programs. Unacceptable. I don't give out root keys to anyone who wants to make sure that their software isn't being stolen, so why would I allow software to run in protected memory space? Some software requires it, so I simply wont use it. As much of a pain in my rectum as it would be to ditch WordPress at this late stage, that may be what ends up having to happen.

    But I would like to avoid it. Wouldn't it be possible to use a cron job on this to somehow fix the problem? I.e. take wp-cron, modify it to remove the block, hide it somewhere below the public directory so that no one can DoS it and have a cron job call it every few 10 minutes or so? I.e. do this the right way instead of doing it the "lets maintain compatibility with everyone's wide open as the grand canyon shared hosting company" way?

  23. jcow
    Member
    Posted 5 years ago #

    @minusonebit.

    That is ridiculous. If you want to set up cron jobs then do it. WP is set up to allow users to schedule tasks without having to use cron. A LOT of modern cms-type server software have similar ability. Cron jobs are much more complicated, and a lot of WP users would not be able to do it. WP allows users of any level to be able to have cron-like ability in their blog. Pretty awesome.

    If you are such an amazing webmaster who needs things so severely secure, then set up your own cron jobs and stop complaining.

    For the rest of us, wp cron works great unless a server is not set correctly (or is extremely secure as in your case i guess). If you would close your trap for a second, maybe some of the people here who need help troubleshooting their server issues could actually get it.

    It isn't lazy developers or bad development, quite the opposite.

  24. rajakamil.com
    Member
    Posted 5 years ago #

    I am really confident this is about the new script. The 2.7 version.
    I being into scheduling my post since WP2.5 and 2.6 . It worked ok to me. And I guess to most of you also.

    But, since upgraded, the scheduled post, never meet the time. It is always miss scheduled.

    I really think it is not about the host since, most of hosting face the same thing.

    If you taking about coding there and here, I dont think it can help our non-geek friends.

  25. jcow
    Member
    Posted 5 years ago #

    Make sure your Timezone is correct also under O"Settings > General".

  26. rajakamil.com
    Member
    Posted 5 years ago #

    @jcow - what you mean with correct ?

  27. minusonebit
    Member
    Posted 5 years ago #

    @ jcow - I'll 'shut my trap' (as you so eloquently put it) when the issue gets fixed. I'm sorry, no one informed me that this forum was only for people who agreed with and praised every direction WP goes in. I missed that memo. But thank you oh so much for clearing that up.

    ---

    So if I remove the block from wp-cron.php, move it somewhere and/or rename it and have a sever cron process call it, it will work? Are there any problems with that implementation that anyone can see? I.e. is there anything that looks for it to be there that will complain when its not there?

  28. 5ubliminal
    Member
    Posted 5 years ago #

    I have this same problem and I made a simple plugin: WordPress Scheduled MIAs. It's a fix for this problem untill WP fixes it themselves.

  29. Samuel Wood (Otto)
    Tech Ninja
    Posted 5 years ago #

    It's a fix for this problem untill WP fixes it themselves.

    There's not going to be a fix for a problem with somebody's server. We can't fix a problem that is caused by the server configuration explicitly blocking what is trying to be done.

    Well, loopback is disabled for security purposes. Allowing a server to talk to itself is a really bad idea.

    False. This is not only not security, it's worse in that it is *pretend* security. If you disagree, then please, by all means, explain exactly what "exploits" this sort of thing prevents.

    I do know real server security, BTW, as that sort of thing is what I do for a living, so don't feel the need to dumb it down.

    First off, there is no need to have a server talk to itself.

    WordPress makes a call back to itself for an explicit reason: to run the wp-cron in a separate server process, so as not to cause a long delay for the user when those long processes are running.

    So if I remove the block from wp-cron.php, move it somewhere and/or rename it and have a sever cron process call it, it will work?

    Yes, if you want to do it that way. It's inefficient and wasteful, since you'll be needlessly running wp-cron on a timed schedule instead of on an "as needed" basis, but it would certainly work.

    The advantage to letting wp-cron the way it was intended to work is that it doesn't run on a schedule, it only runs when it is needed. The schedule is dynamic instead of fixed to 10-minute intervals.

    Also, that "block" is there for a reason. Removing it is a potential security problem, in that it allows the potential for a DOS attack on your site. You can mitigate this by making a copy of wp-cron, renaming it to something else, and modifying that one instead.

    The block, BTW, are these lines:

    if ( $_GET['check'] != wp_hash('187425') )
    	exit;

    Remove those and then you can call it from a normal cron process.

  30. 5ubliminal
    Member
    Posted 5 years ago #

    @Otto42: I have a different problem as you can see in my blog post.
    I think future posts should not need to be scheduled for publishing. A simple SQL query could show posts with past dates and future status and publish them ... in WP core. I don't know ...

Topic Closed

This topic has been closed to new replies.

About this Topic