通過PHP CLI實現(xiàn)簡單的數(shù)據(jù)庫實時監(jiān)控調(diào)度
下面是PHP代碼(dbtest.php)
!#/usr/local/php/bin/php
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db("test");
echo 'PID: '.posix_getpid().' '; //當(dāng)前進程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è)務(wù)流程應(yīng)該沒什么說的,就有幾處需要注意的地方:
第一行是PHP CLI模式需要添加的命令路徑,還有就是那個while(1)和sleep(3),其余都是普通的php代碼寫法。
通過shell命令php dbtest.php運行即可,我在虛擬機上測試,正常情況下占用率CPU 0%,內(nèi)存1%。
實際應(yīng)用中可以放到后臺運行:
php dbtest.php &
bg 1
PS:&命令很多地方說的很不清楚,甚至錯誤。它只是將程序放入后臺,而并沒有實際運行!
順帶總結(jié)復(fù)習(xí)一下linux的前后臺運行相關(guān)命令
命令 前后臺 狀態(tài) 使用方式
& 后臺 暫停 加在命令后
bg 后臺 運行 后跟作業(yè)號
fg 前臺 運行 后跟作業(yè)號
Ctrl+Z 后臺 暫停 (組合鍵)
jobs (查看所有作業(yè)號) 命令
相關(guān)文章
PHP函數(shù)按引用傳遞參數(shù)及函數(shù)可選參數(shù)用法示例
這篇文章主要介紹了PHP函數(shù)按引用傳遞參數(shù)及函數(shù)可選參數(shù)用法,結(jié)合實例形式分析了php函數(shù)的引用傳參與可選參數(shù)具體使用技巧與注意事項,需要的朋友可以參考下2018-06-06
php將數(shù)據(jù)庫中所有內(nèi)容生成靜態(tài)html文檔的代碼
比較簡單了,而且我的代碼優(yōu)化也很是問題 比較繁瑣。下面就直接上代碼了2010-04-04
php轉(zhuǎn)換上傳word文件為PDF的方法【基于COM組件】
這篇文章主要介紹了php轉(zhuǎn)換上傳word文件為PDF的方法,結(jié)合實例形式分析了php基于COM組件針對word文件的格式轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的區(qū)別
一直以來,有很多初學(xué)者搞不懂這些Mysql中從查詢結(jié)果集中取得數(shù)據(jù)的函數(shù)之間有什么區(qū)別,今天我就來秀一把,在秀之前先給大家一段PHP實例2009-04-04
windows環(huán)境下php配置memcache的具體操作步驟
本篇文章是對windows環(huán)境下php配置memcache的具體操作步驟進行了詳細的分析介紹,需要的朋友參考下2013-06-06
PHP實現(xiàn)根據(jù)數(shù)組某個鍵值大小進行排序的方法
這篇文章主要介紹了PHP實現(xiàn)根據(jù)數(shù)組某個鍵值大小進行排序的方法,涉及php針對數(shù)組的遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
php中json_encode UTF-8中文亂碼的更好解決方法
網(wǎng)上找到說json_encode編碼設(shè)置為UTF-8中文就不會亂碼,在用過一段時間之后就不太管用了,下面與大家分享更好的方法2014-09-09

