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

通過PHP CLI實現(xiàn)簡單的數(shù)據(jù)庫實時監(jiān)控調度

 更新時間:2009年07月01日 00:52:06   作者:  
繼續(xù)CLI模式試驗,這次通過使用之前的“帶延時的死循環(huán)”方法,來實現(xiàn)個簡單的數(shù)據(jù)庫實時監(jiān)控調度功能。
要實現(xiàn)的功能:監(jiān)控user表,若有新紀錄增加,將其向user2表中添加。(實際應用上可以引深一些,例如對數(shù)據(jù)進行相關處理等)

下面是PHP代碼(dbtest.php)
復制代碼 代碼如下:

!#/usr/local/php/bin/php
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db("test");
echo 'PID: '.posix_getpid().' '; //當前進程PID(linux下)
$old_id = 0;
while (1)
{
$sql = "SELECT `id` FROM `user` ORDER BY `id` DESC LIMIT 1";
$result = mysql_query($sql);
$item = mysql_fetch_assoc($result);
$new_id = $item['id'];
$values_arr = array();
for ($i=$new_id; $i>$old_id && $old_id!=0; $i--)
{
$sql = "SELECT `name`,`age` FROM `user` WHERE `id`='{$i}' LIMIT 1";
$result = mysql_query($sql);
$item = mysql_fetch_assoc($result);
$name = $item['name'];
$age = $item['age'];
$values_arr[] = "('{$name}', '{$age}')";
}
if (!emptyempty($values_arr))
{
$values_str = implode(',', $values_arr);
$sql = "INSERT INTO `user2`(`name`, `age`) VALUES {$values_str}";
mysql_query($sql);
}
$old_id = max($old_id, $new_id);
sleep(3); //3秒后進入下次循環(huán)
}

業(yè)務流程應該沒什么說的,就有幾處需要注意的地方:
第一行是PHP CLI模式需要添加的命令路徑,還有就是那個while(1)和sleep(3),其余都是普通的php代碼寫法。
通過shell命令php dbtest.php運行即可,我在虛擬機上測試,正常情況下占用率CPU 0%,內存1%。
實際應用中可以放到后臺運行:
php dbtest.php &
bg 1
PS:&命令很多地方說的很不清楚,甚至錯誤。它只是將程序放入后臺,而并沒有實際運行!
順帶總結復習一下linux的前后臺運行相關命令

命令      前后臺    狀態(tài)        使用方式

&           后臺        暫停        加在命令后

bg         后臺        運行        后跟作業(yè)號

fg          前臺        運行        后跟作業(yè)號

Ctrl+Z   后臺        暫停         (組合鍵)

jobs     (查看所有作業(yè)號)    命令

相關文章

最新評論

清水河县| 禹城市| 凤冈县| 灵武市| 商水县| 兰考县| 凤山市| 通化县| 荃湾区| 南雄市| 清河县| 赤城县| 娱乐| 长葛市| 禹城市| 辽宁省| 南雄市| 武夷山市| 利津县| 孙吴县| 英超| 桑植县| 常山县| 铁力市| 温泉县| 博乐市| 漳平市| 北辰区| 依兰县| 富民县| 龙海市| 静海县| 松江区| 阿合奇县| 苍梧县| 通州市| 镇宁| 新郑市| 景宁| 舞钢市| 全州县|