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

目前用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去看
              看不懂英文我這裡有一個備份也可以查看點擊此處跳轉

                最新下載
                更多>
                網站特效
                網站源碼
                網站素材
                前端模板
                關於我們 免責聲明 Sitemap
                PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!