最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php中定時計劃任務的實現(xiàn)原理

 更新時間:2013年01月08日 14:30:24   作者:  
php中定時計劃任務的實現(xiàn)原理,需要的朋友可以參考下
根據(jù)php手冊簡單介紹一些相關的知識:

1.連接處理:

在 PHP 內(nèi)部,系統(tǒng)維護著連接狀態(tài),其狀態(tài)有三種可能的情況:

0 - NORMAL(正常)
1 - ABORTED(異常退出)
2 - TIMEOUT(超時)

當 PHP 腳本正常地運行 NORMAL 狀態(tài)時,連接為有效。當遠程客戶端中斷連接時,ABORTED 狀態(tài)的標記將會被打開。遠程客戶端連接的中斷通常是由用戶點擊 STOP 按鈕導致的。當連接時間超過 PHP 的時限時,TIMEOUT 狀態(tài)的標記將被打開。

可以決定腳本是否需要在客戶端中斷連接時退出。有時候讓腳本完整地運行會帶來很多方便,即使沒有遠程瀏覽器接受腳本的輸出。默認的情況是當遠程客戶端連接中斷時腳本將會退出。該處理過程可由 php.ini 的 ignore_user_abort 或由 Apache .conf 設置中對應的"php_value ignore_user_abort"以及 ignore_user_abort() 函數(shù)來控制。如果沒有告訴 PHP 忽略用戶的中斷,腳本將會被中斷,除非通過 register_shutdown_function() 設置了關閉觸發(fā)函數(shù)。通過該關閉觸發(fā)函數(shù),當遠程用戶點擊 STOP 按鈕后,腳本再次嘗試輸出數(shù)據(jù)時,PHP 將會檢測到連接已被中斷,并調(diào)用關閉觸發(fā)函數(shù)。

腳本也有可能被內(nèi)置的腳本計時器中斷。默認的超時限制為 30 秒。這個值可以通過設置 php.ini 的 max_execution_time 或 Apache .conf 設置中對應的"php_value max_execution_time"參數(shù)或者 set_time_limit() 函數(shù)來更改。當計數(shù)器超時的時候,腳本將會類似于以上連接中斷的情況退出,先前被注冊過的關閉觸發(fā)函數(shù)也將在這時被執(zhí)行。在該關閉觸發(fā)函數(shù)中,可以通過調(diào)用 connection_status() 函數(shù)來檢查超時是否導致關閉觸發(fā)函數(shù)被調(diào)用。如果超時導致了關閉觸發(fā)函數(shù)的調(diào)用,該函數(shù)將返回 2。

需要注意的一點是 ABORTED 和 TIMEOUT 狀態(tài)可以同時有效。這在告訴 PHP 忽略用戶的退出操作時是可能的。PHP 將仍然注意用戶已經(jīng)中斷了連接但腳本仍然在運行的情況。如果到了運行的時間限制,腳本將被退出,設置過的關閉觸發(fā)函數(shù)也將被執(zhí)行。在這時會發(fā)現(xiàn)函數(shù) connection_status() 返回 3。

2.相關函數(shù):

int ignore_user_abort ( [bool setting] )
This function sets whether a client disconnect should cause a script to be aborted. It will return the previous setting and can be called without an argument to not change the current setting and only return the current setting.

int connection_aborted ( void )
Returns TRUE if client disconnected.

int connection_status ( void )
Returns the connection status bitfield.

為了定時更新某一文件,需要程序自動運行,從網(wǎng)上搜到了兩種方法:ignore_user_abort() 和crontab

ignore_user_abort()函數(shù)搭配set_time_limit(0)和sleep($interval)即可實現(xiàn)程序自動運行更新,下面是一個實例
復制代碼 代碼如下:

ignore_user_abort(); //即使Client斷開(如關掉瀏覽器),PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(0); // 執(zhí)行時間為無限制,php默認的執(zhí)行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去
$interval=60*5; // 每隔5分鐘運行
do{
$fp = fopen('test.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval); // 等待5分鐘
}while(true);

只要運行上面的頁面,然后關掉,程序就會一直運行下去。

Linux 下有種更簡單的方法,就是crontab命令

crontab命令的功能是在一定的時間間隔調(diào)度一些命令的執(zhí)行。
crontab 使用方法: crontab [ -e | -l | -r ] 文件名 -e:編輯任務 -l:顯示任務信息 -r:刪除定時執(zhí)行任務信息

crontab的格式:
* * * * * Command
分 時 日 月 星期 要運行的命令

crontab的例子:

*/5 * * * * lynx http://www.fzitv.net
每5分鐘訪問一次 www.fzitv.net

0 8 * * * lynx http://www.fzitv.net
每天早上8點訪問 www.fzitv.net

0 10 6 * 1-5 lynx http://www.fzitv.net
每個月的6號和每個禮拜的星期一到星期五的早上10點訪問 www.fzitv.net

0 5 7 8 * lynx http://www.fzitv.net
8月7日早上5點訪問 www.fzitv.net

上面幾個特殊的意思:
"*"代表所有的取值范圍內(nèi)的數(shù)字,"/"代表每的意思,"*/5"表示每5個單位,"-"代表從某個數(shù)字到某個數(shù)字,","分開幾個離散的數(shù)字。

相關文章

  • php下保存遠程圖片到本地的辦法

    php下保存遠程圖片到本地的辦法

    有些時候我們看到網(wǎng)絡上有一些漂亮的圖片,而又不想手動去保存下來,尤其是大量的這樣的圖片,那這個時候我們需要寫一段程序來幫助我們完成這個工作。
    2010-08-08
  • PHP共享內(nèi)存用法實例分析

    PHP共享內(nèi)存用法實例分析

    這篇文章主要介紹了PHP共享內(nèi)存用法,結合實例形式較為詳細的分析了基于共享內(nèi)存實現(xiàn)進程間通信的技巧,需要的朋友可以參考下
    2016-02-02
  • php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法

    php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法

    以下是對php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼問題的解決方法進行了介紹,需要的朋友可以過來參考下
    2013-08-08
  • PHP連續(xù)簽到功能實現(xiàn)方法詳解

    PHP連續(xù)簽到功能實現(xiàn)方法詳解

    這篇文章主要介紹了PHP連續(xù)簽到功能實現(xiàn)方法,結合實例形式詳細分析了PHP結合mysql數(shù)據(jù)庫實現(xiàn)連續(xù)簽到功能相關操作技巧,需要的朋友可以參考下
    2019-12-12
  • php實現(xiàn)設計模式中的單例模式詳解

    php實現(xiàn)設計模式中的單例模式詳解

    這篇文章主要介紹了php實現(xiàn)設計模式中的單例模式詳解,本文詳細講解了php中的單例模式,并給出了代碼實例,需要的朋友可以參考下
    2014-10-10
  • 解析thinkphp基本配置 convention.php

    解析thinkphp基本配置 convention.php

    本篇文章是對thinkphp基本配置 convention.php進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP foreach引用變量導致的問題及其解決方案

    PHP foreach引用變量導致的問題及其解決方案

    在 PHP 中,foreach 是用于遍歷數(shù)組的重要結構,然而,在某些情況下,使用 foreach 的 引用變量(&) 可能會導致意想不到的錯誤,尤其是在不同版本的 PHP 環(huán)境下,本文將詳細分析 foreach 在不同 PHP 版本中的行為變化,深入剖析引用帶來的問題,并提供最佳解決方案
    2025-02-02
  • php創(chuàng)建、獲取cookie及基礎要點分析

    php創(chuàng)建、獲取cookie及基礎要點分析

    這篇文章主要介紹了php創(chuàng)建、獲取cookie及基礎要點,實例分析了php操作cookie的技巧,需要的朋友可以參考下
    2015-01-01
  • php定時刪除文件夾下文件(清理緩存文件)

    php定時刪除文件夾下文件(清理緩存文件)

    有的時候網(wǎng)站緩存文件夾里生成的臨時文件越來越多,而長時間不清理就會造成文件夾下有上萬個緩存文件,可能會使ftp工具多無法進入其文件夾。使臨時文件無法刪除
    2013-01-01
  • php設計模式之簡單工廠模式詳解

    php設計模式之簡單工廠模式詳解

    這篇文章主要介紹了php設計模式的簡單工廠模式,又稱為靜態(tài)工廠方法模式,是一種重要的PHP設計模式,需要的朋友可以參考下
    2014-09-09

最新評論

崇明县| 七台河市| 大荔县| 普宁市| 天气| 兴安盟| 通化市| 永安市| 穆棱市| 宁安市| 宽城| 丰县| 策勒县| 长宁县| 镇平县| 清徐县| 宜宾市| 瓦房店市| 舟曲县| 喜德县| 辽阳市| 中宁县| 理塘县| 松江区| 京山县| 阿巴嘎旗| 华阴市| 铁岭县| 茂名市| 思茅市| 西城区| 徐闻县| 马山县| 山阴县| 逊克县| 友谊县| 花垣县| 冕宁县| 青川县| 信宜市| 钟祥市|