下面是PHP代碼(dbtest.php) 復(fù)制代碼 代碼如下:!#/usr/local/php/bin/php <?php mysql_connect('localh " /> 国产99re66在线视频,中文字幕一区日韩精品欧美,99国产精品免费网站

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

通過(guò)PHP CLI實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控調(diào)度

要實(shí)現(xiàn)的功能:監(jiān)控user表,若有新紀(jì)錄增加,將其向user2表中添加。(實(shí)際應(yīng)用上可以引深一些,例如對(duì)數(shù)據(jù)進(jìn)行相關(guān)處理等)

下面是php代碼(dbtest.php
復(fù)制代碼 代碼如下:
!#/usr/local/php/bin/php
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db("test");
echo 'PID: '.posix_getpid().' '; //當(dāng)前進(jìn)程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秒后進(jìn)入下次循環(huán)
}

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

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

&           后臺(tái)        暫停        加在命令后

bg         后臺(tái)        運(yùn)行        后跟作業(yè)號(hào)

fg          前臺(tái)        運(yùn)行        后跟作業(yè)號(hào)

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

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

php技術(shù)通過(guò)PHP CLI實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)庫(kù)實(shí)時(shí)監(jiān)控調(diào)度,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 广汉市| 安远县| 绥滨县| 兴安县| 罗平县| 蕉岭县| 康马县| 鹰潭市| 启东市| 区。| 平谷区| 柯坪县| 葫芦岛市| 汉阴县| 乌兰察布市| 天镇县| 敖汉旗| 新沂市| 兴文县| 乌鲁木齐县| 如东县| 闸北区| 唐海县| 顺平县| 宜兰市| 西吉县| 汶川县| 全南县| 科技| 堆龙德庆县| 旬邑县| 太和县| 毕节市| 闽清县| 乌鲁木齐市| 茌平县| 凤凰县| 永善县| 沙湾县| 巴里| 蕲春县|