Wir entwickeln derzeit ein Projekt mit dem Laravel-Framework. Die erforderlichen Daten werden durch die Durchführung entsprechender Abfragen, Berechnungen und Verarbeitungen in der Datenbank ermittelt erfordert das Schreiben eines Timers. Die Aufgabe beginnt jede Nacht um 0 Uhr und endet, nachdem alle Daten verarbeitet wurden. Ich habe jetzt eine Methode in den Laravel-Controller geschrieben, um die Daten in der Datenbank zu verarbeiten. Jetzt muss ich diese Methode nur noch in einer regul?ren Schleife ausführen, um die Funktion zu erreichen.
Aber jetzt wei? ich nicht, wie ich es regelm??ig ausführen soll? Wird es im PHP-CLI-Modus ausgeführt? Oder eine Artisan-Konsole zur Ausführung verwenden? Suchen Sie Rat?
學(xué)習(xí)是最好的投資!
1.大數(shù)據(jù)量最好就別拉出來應(yīng)用層玩啦,寫個(gè)mysql的存儲(chǔ)過程或者函數(shù)。(調(diào)用可以通過mysql事件調(diào)用),這樣處理會(huì)非常節(jié)省資源。
2.還是寫到存儲(chǔ)過程,可以配合 linux中的 crond定時(shí)任務(wù)進(jìn)行定時(shí)處理。
Laravel 的 Scheduling 我覺得非常符合你的需求,中文文檔在這里。
http://d.laravel-china.org/do...
laravel有調(diào)度任務(wù)功能的.建議多看文檔~
這玩意看你公司需求了,有運(yùn)維的話,你自己寫個(gè)方法來操作數(shù)據(jù),讓運(yùn)維寫個(gè)腳本來定時(shí)請(qǐng)求這個(gè)方法就行了。沒有運(yùn)維并且你老板也不讓你動(dòng)服務(wù)器的話,可以選擇寫一個(gè)PHP腳本來操作數(shù)據(jù),用sleep和循環(huán)來搞定,把這個(gè)文件放到連接中,用header函數(shù)來訪問請(qǐng)求這個(gè)鏈接
我來推薦幾個(gè)定時(shí)任務(wù)的庫(kù)。用composer加載
Dispatcher 基于Laravel的定時(shí)任務(wù)管理
swoole-crontab 基于swoole的定時(shí)器程序,支持秒級(jí)處理
jobby 一個(gè) PHP 的定時(shí)任務(wù)管理器
cronlingo Express crontabs as human friendly phrases
沒事的話可以去awesomes-php中去看
看不懂英文我這里有一個(gè)備份也可以查看點(diǎn)擊此處跳轉(zhuǎn)