zoukankan      html  css  js  c++  java
  • php中ignore_user_abort函数的用法(定时)

    PHP中的ignore_user_abort函数是当用户关掉终端后脚本不停止仍然在执行,可以用它来实现计划任务与持续进程,下面会通过实例讨论ignore_user_abort()函数的作用与用法。
       
        ignore_user_abort() 可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任务功能与持续进程,只需要开启执行脚本,除非 apache等服务器重启或有脚本有输出,该PHP脚本将一直处于执行的状态,初看很实用,不过代价是一个PHP执行脚本的持续进程,开销很大,但却可以实现很多意想不到的功 能。
       
        其描述为设置与客户机断开是否会终止脚本的执行。
       
        一,函数原型
       
        int ignore_user_abort ( [bool setting] )
       
        二,版本兼容
       
        PHP 3 >= 3.0.7, PHP 4, PHP 5
       
        三,函数基础用法与实例
       
        1,函数基础用法
       
        1. <?php
       
        2. ignore_user_abort();
       
        3. ?>
       
        说明:调用ignore_user_abort()函数声明即使客户机断开不终止脚本的执行。
       
        2,结合set_time_limit()函数实现一个循环脚本执行任务
       
        1. <?php
       
        2. ignore_user_abort();
       
        3. set_time_limit(0);
       
        4. $interval=60*15;
       
        5. do{
       
        6. //执行的业务
       
        7. }whiletrue);
       
        8. ?>
       
        说明:每隔15分钟循环执行
       
        3,自定义实现文件输出并跟踪ignore_user_abort()函数的执行结果
       
        1. <?php
       
        2. ignore_user_abortTRUE );
       
        3. set_time_limit ( 0 );
       
        4. $interval = 10;
       
        5. $stop = 1;
       
        6. do {
       
        7. if$stop == 10 ) break;
       
        8. file_put_contents(‘phpzixue.php',' Current Time: '.time()。' Stop: '.$stop);
       
        9. $stop++;
       
        10. sleep ( $interval );
       
        11. } while ( true );
       
        12. ?>
       
        打开liuhui.php文件,文件内容如下:
       
        Current Time: 1273735029 Stop: 9
       
        其原理是即使客户端终止脚本,仍然每隔10秒钟执行一次,并打印出当前时间与终止点,这样就可以测试出ignore_user_abort()函数的具体效果。
       
        通过实例发现ignore_user_abort()函数非常实用,实现计划任务,完成后续任务,持续进程等非常有效。
  • 相关阅读:
    游标cursor
    SQL: EXISTS
    LeetCode Reverse Integer
    LeetCode Same Tree
    LeetCode Maximum Depth of Binary Tree
    LeetCode 3Sum Closest
    LeetCode Linked List Cycle
    LeetCode Best Time to Buy and Sell Stock II
    LeetCode Balanced Binary Tree
    LeetCode Validate Binary Search Tree
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/6826598.html
Copyright © 2011-2022 走看看