php - 如何實作一個定時任務來對資料庫中的資料進行操作?
PHPz
PHPz 2017-05-27 17:42:05
0
8
1200

目前用laravel框架開發的一個項目,項目中需要一些數據,需要的這些數據是對數據庫中幾十張表進行關聯查詢、運算、處理後得到的,由於數據量比較大,公司要求寫一個定時任務,在每天晚上0點時開始執行,直到把所有資料都執行處理一遍後結束這個任務。我現在在laravel控制器中寫了一個方法,用來處理資料庫中的數據,現在只要定時循環執行這個方法就可以實現功能。

但是現在我不知道如何去定時執行?是用php cli模式執行?還是用artisan console執行?求指點思路?

PHPz
PHPz

学习是最好的投资!

全部回覆(8)
某草草

crontab 使用Linux的wget或curl指令透過Http請求存取你的控制器。

PHPzhong

1.大數據量最好就別拉出來應用層玩啦,寫個mysql的預存程序或函數。 (呼叫可以透過mysql事件呼叫),這樣處理會非常節省資源。

2.還是寫到儲存過程,可以配合 linux中的 crond定時任務進行定時處理。

曾经蜡笔没有小新

Laravel 的 Scheduling 我覺得很符合你的需求,中文文件在這裡。
http://d.laravel-china.org/do...

过去多啦不再A梦

laravel有調度任務功能的.建議多看文件~

左手右手慢动作

按你的情況最簡單的就是laravel 的任務調度

淡淡烟草味

這玩意看你公司需求了,有維運的話,你自己寫個方法來操作數據,讓運維寫個腳本來定時請求這個方法就行了。沒有維運並且你老闆也不讓你動伺服器的話,可以選擇寫一個PHP腳本來操作數據,用sleep和循環來搞定,把這個文件放到連接中,用header函數來訪問請求這個鏈接

巴扎黑

我來推薦幾個定時任務的函式庫。用composer載入
Dispatcher 基於Laravel的定時任務管理
swoole-crontab 基於swoole的定時器程序,支援秒級處理
jobby 一個PHP 的定時任務管理器
cronlingo Express crontabs as human friends human php去看
看不懂英文我這裡有一個備份也可以查看點擊此處跳轉

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板