zoukankan      html  css  js  c++  java
  • php 循环爬虫 or 持久执行任务 总断掉服务 解决,flush(),ob_flush()的组合使用

    <?php
    
    namespace appcontroller;
    
    header('Content-type:text/html;charset=utf8');
    
    use appBaseController;
    use thinkApp;
    use thinkfacadeDb;
    
    /**
     * 测试php不间断循环
     * Class organizational
     * @package appcontroller
     */
    class Fresh extends BaseController
    {
    
       public function index()
       {
           if (ob_get_level() == 0) ob_start();
           set_time_limit(0);
           ini_set('memory_limit', '1G');
           ini_set('default_socket_timeout', -1);
           $waitadd = Db::connect('os')->table('bankdata_temp')->select();
    
           //为了方便测试,这里逐单条添加入表
           foreach ($waitadd as $k => $v) {
               flush(); //ob_flush()一定要组合使用 ,否则不起作用
               ob_flush();
               $recorddata = array();
               $recorddata['aaa'] = $v['aaa'];
               $recorddata['bbb'] = $v['bbb'];
    
               Db::connect('test')
                   ->table('test_table')
                   ->insertGetId($recorddata);
               echo ($k+1)."
    ";  //必须要在循环中 打印哦 ,不然flush就不起作用了
               //当前apache通过浏览器访问
               if (strpos(strtolower($_SERVER['SERVER_SOFTWARE']), 'apache') !== false) {
                   echo str_pad('',4096)."
    ";
               }
               sleep(1); //停留一秒观看浏览器 弹出信息
           }
           ob_end_flush();
           exit('ok');
       }
    
    
    }
    

      

  • 相关阅读:
    Linux使用手册
    Oracle&SQL使用记录
    docker的使用
    springboot与mybatis
    JavaScript与TypeScript总结
    React总结
    React与jsplumb
    DB2入门
    吾尝终日而思矣——2019.02.17
    吾尝终日而思矣——2019.02.12
  • 原文地址:https://www.cnblogs.com/handle/p/15408685.html
Copyright © 2011-2022 走看看