首頁  >  文章  >  後端開發  >  yii2 配置crontab定時任務

yii2 配置crontab定時任務

大家讲道理
大家讲道理原創
2017-08-19 09:35:343586瀏覽

一,偵測環境:

  首先我們切換到專案根目錄,yii2正常安裝的話有一個commands資料夾,裡面有一個範例檔案HelloController.php  

#
<?php
namespace app\commands;use yii\console\Controller;class HelloController extends Controller
{    public function actionIndex($message = 'hello world')
    {        echo $message . "\n";
    }
}

  切到專案根目錄,命令列輸出  php yii hello,輸出hello world 說明環境正常


二,書寫程式碼:

    可以在commands資料夾新控制器檔案,繼承yii\console\Controller;定義類別方法,actionIndex方法一般為預設路由,

  調試時在專案根目錄輸入php yii加上控制器名字(小寫)/路由(index的話可省略)

#三,linux定時任務crontab.

  1關於crontab:

    linux環境下,crontab -l顯示定時任務,crontab -e編輯定時任務

#  2基本語法

    基本格式:
    *  *  *    *  *  *    *  *  *    *  *  

 

    第1列表示分鐘1~59 每分鐘用*或*/1表示

    第2列表示小時1~23(0表示0點)
   第2列表示小時1~23(0表示0點)
   第2列表示小時1~23(0表示0點)
   第2列第1~23 第3列表示日期1~31
    第4列表示月份1~12
    第5列識別號星期0~6(0表示星期日)

    第6列要運行的命令6(0表示星期日)

    第6列要運行的命令#  3用法範例

    #30 21 **o* ##**# ##* /usr/local/etc/rc.d/lighttpd restart

#    #上面的範例表示每晚的21:30重啟apache。      45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

    #上面的範例表示每月1、10、22日的4 : 45重啟apache。      10 1 * * 6

# ,

0 /

usr

/

local###/###etc###/###rc###.d###/## #lighttpd ###restart############################################################################################ ######################################    #上面的範例表示每週六、週日的1 : 10重啟apache。 ######### ###

    0,30 18-23 * *  * /usr/local/etc/rc.d/lighttpd restart

#    #上面的範例表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

 

    0 23 * * 6#/usr/local/etc/rc.d/lighttpd restart

    #上面的範例表示每星期六的11 : 00 pm重啟apache。

     0 */1 #* * * /usr/local/etc/rc.d/lighttpd restart


#########################    #每一小時重啟apache######## #####四,linux定時任務crontab執行commands下控制器php檔案內容#############  依第三步驟所寫,後面加上php yii + 專案根路徑+ 路由(控制器名稱/方法名稱)即可##########

以上是yii2 配置crontab定時任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn