欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php定時計劃任務(wù)的實現(xiàn)方法詳解

 更新時間:2013年06月06日 16:49:47   作者:  
本篇文章是對php定時計劃任務(wù)的實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

我在uchome 中 分析到, uchome是這樣做的
1. 把所有的計劃任務(wù)存放到數(shù)據(jù)庫
2. 每次用戶進(jìn)行操作或打開頁面的時候都按排序執(zhí)行一條計劃任務(wù). 也就是輪番判斷,時間到了的, 就在用戶進(jìn)程中執(zhí)行.
uchome的計劃任務(wù)代碼在 ./source/function_cron.php
上面只自己分析uchome代碼關(guān)于計劃任務(wù)大概的結(jié)果, 拋磚引玉. 希望誰有好的方法拿出來共享.
ignore_user_abort()
我前一段時間徹底研究過計劃任務(wù),認(rèn)為計劃任務(wù)的思路很多,但最適合Web的還是觸發(fā)式的,就是類似于DZ和PHPWind的,似乎大多數(shù)web應(yīng)用也都是這么做的,再說幾種其他的供參考
1,為了提供穩(wěn)定的觸發(fā),用crontab+wget或者ab提供定時訪問
2,nohup + php寫守護(hù)程序
3,直接用php寫個死循環(huán)還提供觸發(fā),這時需要用緩存或者數(shù)據(jù)庫來協(xié)助推出循環(huán),還有必須用sleep或者usleep控制觸發(fā)頻率
4,crontab+php
5,web觸發(fā)方式,這也有區(qū)別,一種是定時觸發(fā),一種是定周期觸發(fā),DZ和PHPWind都是定時觸發(fā),我最后采用的是定周期觸發(fā)
具體的實現(xiàn)思路 很容易想,就不多說了
自己有主機肯定用crontab來執(zhí)行命令行PHP
沒有只能寫在代碼中了
用crontab會比較好, 如果用循環(huán)的話, 最好也要把循環(huán)和具體處理程序分開, 不然內(nèi)存會一直增加.

今天一不小心在php手冊上發(fā)現(xiàn)了這個函數(shù)-ignore_user_abort,這個函數(shù)可以幫助我們實現(xiàn)像linux中的cron一樣實現(xiàn)計劃任務(wù),下面一起來看下該如何來實現(xiàn)。
首先看下php手冊對這個函數(shù)的解釋
Description

int ignore_user_abort ([ bool $setting ] )
Sets whether a client disconnect should cause a script to be aborted.

也就是說無論客戶端是否關(guān)閉瀏覽器,下面的程序都會執(zhí)行.
再看下其參數(shù)
Parameters

setting
If not set, the function will only return the current setting.

這個函數(shù)接受一個參數(shù),來決定是否啟用ignore_user_abort的功能。
再看其返回值:

Return Values
Returns the previous setting, as a boolean.

這里說返回前一次的設(shè)置,并且是bool值得,經(jīng)過我的測試,這個說法是不對的,返回的明明是int型的,不相信的話大家可以寫一個php文件來測試下。
說了這么多了,到底該如何用php的這個函數(shù)實現(xiàn)計劃任務(wù)呢?還跌借助另外一個函數(shù),這個函數(shù)是set_time_limit,通過set_time_limit0)可以設(shè)置程序的運行時間為無限制,php默認(rèn)的運行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去。在程序執(zhí)行之前加上ignore_user_abort(1)和set_time_limit(0)即可以了,最終程序該如何寫呢?給大家一個例子。

復(fù)制代碼 代碼如下:

<?php
ignore_user_abort(); // run script in background
set_time_limit(0); // run script forever
$interval=30; // do every 15 minutes…
do{
$fp = fopen(‘text3.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval); // wait 15 minutes
}while(true);
?>

相關(guān)文章

  • PHP+jQuery實現(xiàn)雙擊修改table表格功能示例

    PHP+jQuery實現(xiàn)雙擊修改table表格功能示例

    這篇文章主要介紹了PHP+jQuery實現(xiàn)雙擊修改table表格功能,涉及php數(shù)組讀取、遍歷及jQuery動態(tài)響應(yīng)修改頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • 解析isset與is_null的區(qū)別

    解析isset與is_null的區(qū)別

    isset是語句, 和echo, print一樣, 是PHP本身的一種語言結(jié)構(gòu). 而is_null是函數(shù), 和我們一般的函數(shù)一樣, 可以做為可變函數(shù)調(diào)用
    2013-08-08
  • php面向?qū)ο蟪绦蛟O(shè)計中self與static的區(qū)別分析

    php面向?qū)ο蟪绦蛟O(shè)計中self與static的區(qū)別分析

    這篇文章主要介紹了php面向?qū)ο蟪绦蛟O(shè)計中self與static的區(qū)別,結(jié)合實例形式分析了php面向?qū)ο蟪绦蛟O(shè)計中self與static的功能、以及在繼承過程中實現(xiàn)多態(tài)的區(qū)別,并總結(jié)了static靜態(tài)延遲綁定的原理,需要的朋友可以參考下
    2019-05-05
  • php輸出表格的實現(xiàn)代碼(修正版)

    php輸出表格的實現(xiàn)代碼(修正版)

    在php開發(fā)過程中,對于大量的數(shù)據(jù)考慮用表格輸出的時候可以用得到,但部分朋友可能不是很清楚原理所以這里為大家準(zhǔn)備了代碼。希望對學(xué)習(xí)php的朋友有所幫助。
    2010-12-12
  • 淺析PHP編程中10個最常見的錯誤

    淺析PHP編程中10個最常見的錯誤

    PHP是個偉大的web開發(fā)語言,靈活的語言,但是看到php程序員周而復(fù)始的犯的一些錯誤。我做了下面這個列表,列出了PHP程序員經(jīng)常犯的10中錯誤,大多數(shù)和安全相關(guān)。看看你犯了幾種
    2014-08-08
  • Laravel網(wǎng)站打開速度優(yōu)化的方法匯總

    Laravel網(wǎng)站打開速度優(yōu)化的方法匯總

    最近在學(xué)習(xí) Laravel 框架,自己做了個小站,總結(jié)了一些 Laravel 網(wǎng)站性能提升的方法。所以下面這篇文章主要給大家匯總介紹了關(guān)于Laravel網(wǎng)站打開速度優(yōu)化的一些方法,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • php實現(xiàn)隨機顯示圖片方法匯總

    php實現(xiàn)隨機顯示圖片方法匯總

    本文分享一個php實現(xiàn)的隨機顯示圖片的函數(shù),可以將指定文件夾中存放的圖片隨機地顯示出來。有興趣的朋友研究下吧。
    2015-05-05
  • PHP遍歷某個目錄下的所有文件和子文件夾的實現(xiàn)代碼

    PHP遍歷某個目錄下的所有文件和子文件夾的實現(xiàn)代碼

    本篇文章是對PHP遍歷某個目錄下的所有文件和子文件夾的實現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php使用simple_html_dom解析HTML示例

    php使用simple_html_dom解析HTML示例

    這篇文章主要介紹了php使用simple_html_dom解析HTML的方法,實例分析了php針對dom節(jié)點操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • PHP支持多種格式圖片上傳(支持jpg、png、gif)

    PHP支持多種格式圖片上傳(支持jpg、png、gif)

    簡單地寫了一個PHP的圖片上傳,可以支持jpg、png、gif等格式的圖片,如果你想支持更多的格式,比如bmp,可以自己擴充。不是面向?qū)ο蟮?,在這里簡單記錄下,以便以后取用
    2011-11-11

最新評論