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

linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)詳解

 更新時(shí)間:2013年12月24日 16:42:22   作者:  
linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)

對(duì)于PHP本身并沒有一套解決方案來執(zhí)行定時(shí)任務(wù),不過是借助sleep函數(shù)完成的。這種方就是要提前做一些配置,如實(shí)現(xiàn)過程:

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

ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.
    set_time_limit(0);// 通過set_time_limit(0)可以讓程序無(wú)限制的執(zhí)行下去
    $interval=60*30;// 每隔半小時(shí)運(yùn)行
    do{
        //這里是你要執(zhí)行的代碼  
        sleep($interval);// 等待5分鐘
    }while(true);

不過關(guān)于這種方式我有一些擔(dān)心性能方面的問題,不過也是個(gè)臨時(shí)的方法。

本人推薦的方式采用腳本來實(shí)現(xiàn),利用OS本身的定時(shí)任務(wù)機(jī)制,windows上場(chǎng)利用bat腳本。不過本人沒有在window上嘗試過。那我就講講在linux中的實(shí)現(xiàn)。

如果你的web server是基于linux的,那么可以采用linux下的cron job 來完成。以RedHat5 為例,我們只需要預(yù)先要定時(shí)執(zhí)行的邏輯代碼。例如demo.php

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

<?php
echo "Hello";
?>

然后是吧php用shell腳本一封裝,在shell腳本中調(diào)用demo.php,demo.sh代碼如下:

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

#!/bin/bash
#if you php install to /usr/local/php/
/usr/local/php/bin/php /home/xx-user/demo.php

完成shell腳本的編寫之后,確保它有足夠的這行權(quán)限,例如:/bin/chmod u+x demo.sh.

然后配置linux上的cronjob,cronjob是linux上默認(rèn)安裝的。如果你的任務(wù)是需要按小時(shí)、天、周、月來執(zhí)行的話,那么你直接可以將你的demo.sh腳本拷貝到

/etc/cron.hourly 、/etc/cron.daily 、/etc/cron.weekly、/etc/cron.monthly 就ok了,這樣就可以完成你的任務(wù)了 。如果到某個(gè)時(shí)間點(diǎn)想移除定時(shí)任務(wù),那就從上面這些folder中move到其它地方或者直接刪除掉就ok了。

如果你的腳本有特殊的執(zhí)行時(shí)間,例如每個(gè)星期的周二,或者是每個(gè)月的15號(hào)執(zhí)行。那么你就需要配置屬于你自己的cron job.

關(guān)于cron的特殊的配置請(qǐng)參考:http://www.pantz.org/software/cron/croninfo.html

這里我就按照每天的上午12點(diǎn)到下午的14點(diǎn)鐘之間每2分鐘運(yùn)行一次這個(gè)腳本,那么配置如下(例如demo.sh是位于/tmp 目錄下):

首先在linux的命令行中執(zhí)行crontab -e ,然后把規(guī)則輸入到里面:

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

*/2 12-14 * * *  /tmp/demo.sh

帶輸入完成之后按鍵盤上的“Esc”鍵,然后輸入:wq,編輯頁(yè)面就退出了。然后你可以用crontab -l 來查看你剛編輯的cron job.

到此時(shí)特殊的cron 也就完成了。例如你剛才是用linux下的demo賬戶來完成上面的步驟,那么還有一個(gè)簡(jiǎn)單的方法就是直接可以編輯/var/spool/cron/demo 這個(gè)文件,可以直接

修改你的cron job.  例如 :vi /var/spool/cron/demo

利用OS的方式來管理你的定時(shí)任務(wù)是很快捷的,而且不用你擔(dān)心性能的問題,除非你的腳本本身存在一些問題。這樣的方式易于維護(hù),可以修改定時(shí)執(zhí)行的計(jì)劃,也可以輕松的移除和新增其它的定時(shí)任務(wù)。

相關(guān)文章

最新評(píng)論

怀集县| 双峰县| 忻州市| 喀喇沁旗| 浦县| 高淳县| 鹤壁市| 多伦县| 佳木斯市| 南郑县| 南皮县| 永康市| 永城市| 寿宁县| 平阴县| 资源县| 安阳市| 锡林郭勒盟| 青州市| 呼玛县| 安图县| 海晏县| 通江县| 宁海县| 盘山县| 肃北| 峨边| 巴东县| 乐清市| 马龙县| 泰宁县| 吴桥县| 常宁市| 屏东县| 赣州市| 扎鲁特旗| 正安县| 福建省| 沽源县| 博爱县| 景泰县|