搜尋

首頁  >  問答  >  主體

php - 如何實作一個定時任務來對資料庫中的資料進行操作?

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

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

PHPzPHPz2777 天前1221

全部回覆(8)我來回復

  • 某草草

    某草草2017-05-27 17:44:05

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

    回覆
    0
  • PHPz

    PHPz2017-05-27 17:44:05

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

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

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-27 17:44:05

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

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-27 17:44:05

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

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-27 17:44:05

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

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-27 17:44:05

    禁忌

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-27 17:44:05

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

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-27 17:44:05

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

    回覆
    0
  • 取消回覆