在wordpress计划任务文件(wp-includes/cron.php)里面第248行有这么一行代码wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );我想知道,这里蛋疼的搞个超时时间为0.01的http请求有毛意思?
我想知道计划任务执行的时候,前台用户触发了程序,如何让程序不必等待计划任务的执行即刻反馈页面结果给用户?
意思就是让用户触发了计划任务,但是又不感觉到在执行计划任务的程序。总不能发布完100篇文章页面才给出结果吧?莫非wordpress就是用这行代码实现的?求高人指教!

解决方案 »

  1.   

    关键在'blocking' => false
      

  2.   

    本帖最后由 xuzuning 于 2012-11-06 08:03:48 编辑
      

  3.   

    搜索到一篇文章,里面的确讲到了发送http请求来解决此问题:
      

  4.   

    那好了,既然你已经知道 wordpress 是这样做的
    那么就看一下 wp_remote_post 函数的代码就是了
      

  5.   

    我很奇怪discuz的计划任务就不是这样。也就是前端没有异步请求,而是等待执行完毕再处理用户的请求,比起老外的做法,太不高级了!!