樓上說的還是要定時檢測
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)五臺免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
不論怎么做,繞來繞去都是一樣的,都是需要定時檢測。
Ajax 控制一個異步PHP程序來檢測數(shù)據(jù)庫,然后返回值,供調(diào)用。
在服務(wù)端建立一個根據(jù)需要進行循環(huán)的PHP腳本就可以。
猜測一下,您的第二個問題,是不是想進行相關(guān)檢測以避免重復(fù)觸發(fā)這個腳本。
實際上,不建議由用戶行為觸發(fā)這個腳本,無論是服務(wù)端代碼,還是客戶端的異步Ajax。
如果要用PHP腳本進行不停的循環(huán)監(jiān)控,請聯(lián)系運維人員,服務(wù)器啟動,即在服務(wù)端開始運行這個腳本,他們會向您提供解決方案的。
真正的建議是,如果有任何可能,都不要使用PHP腳本利用循環(huán)代碼進行服務(wù)端的監(jiān)控。
不得不承認(rèn),這個方面PHP的穩(wěn)定性還差一些,Java或許可以這么做,PHP就比較痛苦了。
比較可能的辦法是請運維人員幫忙,通報監(jiān)控邏輯,然后請他安裝各種觸發(fā)條件調(diào)用相應(yīng)的PHP代碼。
如果堅持使用PHP腳本進行相關(guān)工作,有兩個建議給您:
盡快釋放資源,無論腳本使用了什么資源,包括文件、內(nèi)存、數(shù)據(jù)庫等等,都盡快釋放,這種地方可萬萬不能偷懶,否則就是自虐了。
在這個腳本中進行獨立的手工日志輸出,任何一層循環(huán)的入口都要進行記錄,這樣在監(jiān)控失敗的時候才有辦法查找問題。
那你可以在插入數(shù)據(jù)庫那里設(shè)置監(jiān)聽呀,一有插入就往Android推送消息。
不然你只能通過每隔一段時間刷新一下讀取數(shù)據(jù)庫,看看有沒有更新,有就推送,沒有就繼續(xù)監(jiān)聽,這個你可以自己設(shè)置更新時間。
最好的辦法是,在應(yīng)用程序生命周期內(nèi),對于數(shù)據(jù)庫設(shè)置有事件鉤子,用于監(jiān)聽程序?qū)τ跀?shù)據(jù)庫的操作。這樣非常方便處理邏輯流程。
1 - 表的數(shù)據(jù)變化
表數(shù)據(jù)發(fā)生了變化,毫無疑問是寫操作,包括以下幾種情形:
新建條目 create
更新條目 update
刪除條目 delete
以上三種都是寫操作,會對表數(shù)據(jù)寫入。
2 - 事件鉤子
既然需要實時監(jiān)控,那么每個數(shù)據(jù)庫的操作,都需要考慮在內(nèi),這是全局的監(jiān)聽。
以laravel的Eloquent ORM 模型觸發(fā)事件,允許你掛接到模型生命周期的如下節(jié)點: retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring 和 restored。事件允許你每當(dāng)特定模型保存或更新數(shù)據(jù)庫時執(zhí)行代碼。每個事件通過其構(gòu)造器接受模型實例。
模型內(nèi)添加事件監(jiān)聽鉤子
如果重用率很高,那么使用觀察者 Observer 方式進行監(jiān)聽更為高效。
Laravel Observer
結(jié)語
上面的方法要求讀者有l(wèi)aravel框架的使用基礎(chǔ),對于構(gòu)建中大型應(yīng)用非常有利。
提供一個很有趣的思路,不用cron實現(xiàn)這個功能譬如你的腳本url是 [*]php[*]1.去除你腳本的運行時限[*]2.運行你的處理代碼[*]3.sleep 30minute[*]4.fsocketopen( )5.exit
文章標(biāo)題:開啟php定時監(jiān)控數(shù)據(jù)庫,php 監(jiān)控
URL分享:http://jinyejixie.com/article44/dssdgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制開發(fā)、電子商務(wù)、外貿(mào)建站、自適應(yīng)網(wǎng)站、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)