php Yii2框架創(chuàng)建定時任務(wù)方法詳解
在我們項目開發(fā)中,需要使用定時任務(wù)來完成批處理業(yè)務(wù),下面通過Yii2框架來實現(xiàn)定時任務(wù)
Yii2框架定時任務(wù)代碼統(tǒng)一放在 ./console 目錄下
簡單的定時任務(wù)腳步文件
首先在console/controller目錄下創(chuàng)建一個定時任務(wù)控制器TestController.php
<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
/**
* 執(zhí)行測試腳本
*/
public function actionDo()
{
echo 'hello test console';
}
}在控制臺運行命令php yii,會看到test控制下的do方法
······
- test
test/do 執(zhí)行測試腳本
執(zhí)行腳步命令php yii 控制器名/方法名,會輸出
php yii test/do
hello test console
這就完成了一個簡單的定時任務(wù)腳步控制器
傳遞參數(shù)
如果需要傳遞參數(shù)
<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
/**
* @var integer 接收的參數(shù)
*/
public $param1;
/**
* @var string 接收的參數(shù)
*/
public $param2;
/**
* 設(shè)置參數(shù)
* @param string $actionID
* @return string[]
*/
public function options($actionID)
{
return [
'param1',
'param2',
];
}
/**
* 執(zhí)行測試腳本
*/
public function actionDo()
{
echo $this->param1 . PHP_EOL;
echo $this->param2 . PHP_EOL;
}
}其中 param1和param2就是參數(shù),執(zhí)行腳步命令php yii 控制器名/方法名 --參數(shù)= ····
php yii test/do --param1=123 --param2=hello
123
hello
設(shè)置參數(shù)別名
如果需要給參數(shù)設(shè)置別名
<?php
namespace console\controllers;
use yii\console\Controller;
class TestController extends Controller
{
/**
* @var integer 接收的參數(shù)
*/
public $param1;
/**
* @var string 接收的參數(shù)
*/
public $param2;
/**
* 設(shè)置參數(shù)
* @param string $actionID
* @return string[]
*/
public function options($actionID)
{
return [
'param1',
'param2',
];
}
/**
* 參數(shù)設(shè)置別名
* @return array
*/
public function optionAliases()
{
return [
'p1' => 'param1',
'p2' => 'param2'
];
}
/**
* 執(zhí)行測試腳本
*/
public function actionDo()
{
echo $this->param1 . PHP_EOL;
echo $this->param2 . PHP_EOL;
}
}其中 p1和p2就是參數(shù)的別名,執(zhí)行腳步命令php yii 控制器名/方法名 --參數(shù)= ····
php yii test/do -p1=123 -p2=hello
123
hello
注意:設(shè)置參數(shù)別名后,使用別名參數(shù)用一個橫桿(-)鏈接。
在Linux配置crontab
執(zhí)行命令crontab -e,我們以每分鐘執(zhí)行一次為例
*/1 * * * * /usr/bin/php /var/www/html/yii2-project/yii test/do >/dev/null 2>&1
其中
/usr/bin/php是php運行文件/var/www/html/yii2-project/yii項目目錄中的yii 文件test/do是執(zhí)行腳步命令>/dev/null 2>&1這么寫就行哈,可自行查找
保存退出即可。
到此這篇關(guān)于php Yii2框架創(chuàng)建定時任務(wù)方法詳解的文章就介紹到這了,更多相關(guān)php Yii2框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php代碼中使用換行及(\n或\r\n和br)的應(yīng)用
瀏覽器識別不了\n或\r\n,這兩個換行符是文本換行符,文本文件有效;如果需要將結(jié)果輸出到瀏覽器或打印到顯示器,代碼中使用br;如果只是在源代碼中換行,則使用\n或\r\n,感興趣的朋友可以了解下,或許對你學習php有所幫助2013-02-02
解析smarty 截取字符串函數(shù) truncate的用法介紹
本篇文章是對smarty 截取字符串函數(shù) truncate的用法進行了詳細的分析介紹,需要的朋友參考下2013-06-06

