TP5.1結(jié)合taskphp3.0定時(shí)任務(wù)

1.第一步,安裝最新的taskPHP

  composer require taskphp/taskphp dev-master

2.第二步, 配置TP5項(xiàng)目的 application/command.php 文件

return [
    'app\crontab\Taskphp',
];

第三步, 創(chuàng)建Taskphp命令文件 application/index/command/Taskphp.php

<?php

namespace app\crontab;


use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\Output;

define('APP_PATH', __DIR__);

require_once APP_PATH . '/../../vendor/taskphp/taskphp/src/taskphp/base.php';

class Taskphp extends Command
{

    protected function get_config()
    {
        return [
            //任務(wù)列表
            'task_list' => [
                //key為任務(wù)名嗜愈,多任務(wù)下名稱必須唯一
                'demo' => [
                    'callback' => ['app\\crontab\\Demo', 'run'],//任務(wù)調(diào)用:類名和方法
                    //指定任務(wù)進(jìn)程最大內(nèi)存  系統(tǒng)默認(rèn)為512M
                    'worker_memory' => '10M',
                    //開啟任務(wù)進(jìn)程的多線程模式
                    'worker_pthreads' => false,
                    //任務(wù)的進(jìn)程數(shù) 系統(tǒng)默認(rèn)1
                    'worker_count' => 1,
                    //crontad格式 :秒 分 時(shí) 天 月 年 周
                    'crontab' => '/5 * * * * * *',
                ],
                'test' => [
                    'callback' => ['app\\crontab\\Demo', 'test'],//任務(wù)調(diào)用:類名和方法
                    //指定任務(wù)進(jìn)程最大內(nèi)存  系統(tǒng)默認(rèn)為512M
                    'worker_memory' => '10M',
                    //開啟任務(wù)進(jìn)程的多線程模式
                    'worker_pthreads' => false,
                    //任務(wù)的進(jìn)程數(shù) 系統(tǒng)默認(rèn)1
                    'worker_count' => 1,
                    //crontad格式 :秒 分 時(shí) 天 月 年 周
                    'crontab' => '/5 * * * * * *',
                ],
            ],
        ];
    }

    protected function configure()
    {
        $this->addArgument('param', Argument::OPTIONAL);
        // 設(shè)置命令名稱
        $this->setName($_SERVER['argv'][1])->setDescription('this is a taskphp!');
    }

    protected function execute(Input $input, Output $output)
    {
        //系統(tǒng)配置
        $config = $this->get_config();
        //加載配置信息
        \taskphp\Config::load($config);
        //定義啟動(dòng)文件入口標(biāo)記
        define("START_PATH", dirname(APP_PATH));
        //運(yùn)行框架
        \taskphp\App::run();
    }
}

第四步, 創(chuàng)建Demo任務(wù)文件 application/crontab/Demo.php

<?php

namespace app\crontab;


use taskphp\Utils;

class Demo
{
    public static function run()
    {
        Utils::log('run開始時(shí)間:' . date('Y-m-d H:i:s'));
    }

    public static function test()
    {
        Utils::log('test開始時(shí)間:' . date('Y-m-d H:i:s'));
    }
}

第五步旧蛾,大功告成開始使用

php think start demo

然后就出現(xiàn)


clipboard.png

查了下taskphp生成的日志問(wèn)題提示:出現(xiàn)缺少queue.db 文件

[2019-08-27 10:54:28.90645100][DEBUG]:create E:\appback\runtime\crontab\queue.db error
[2019-08-27 10:54:35.16849900][DEBUG]:create E:\appback\runtime\crontab\queue.db error
[2019-08-27 10:54:35.17215400][DEBUG]:taskPHP daemon pid:17360 Stop
[2019-08-27 10:54:35.24464400][DEBUG]:create E:\appback\runtime\crontab\queue.db error

發(fā)現(xiàn)taskphp默認(rèn)找的是 Sqlite 驅(qū)動(dòng)類型 ,這里切換為Redis(注:記得開啟PHP redis擴(kuò)展)

//系統(tǒng)隊(duì)列配置
'queue'=>[
    //驅(qū)動(dòng)類型 Shm|Redis|Sqlite|Mysql 生產(chǎn)環(huán)境推薦使用Shm或者Redis驅(qū)動(dòng) 由于Mysql和Sqlite有I/O 相對(duì)來(lái)說(shuō)Mysql和Sqlite性能比較差
    'drive'         => 'Redis',
],

再次啟動(dòng)
php think start demo


1clipboard.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蠕嫁,一起剝皮案震驚了整個(gè)濱河市锨天,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剃毒,老刑警劉巖病袄,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赘阀,居然都是意外死亡益缠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門基公,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)幅慌,“玉大人,你說(shuō)我怎么就攤上這事轰豆∫任椋” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵酸休,是天一觀的道長(zhǎng)骂租。 經(jīng)常有香客問(wèn)我,道長(zhǎng)斑司,這世上最難降的妖魔是什么渗饮? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上抽米,老公的妹妹穿的比我還像新娘特占。我一直安慰自己,他們只是感情好云茸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布是目。 她就那樣靜靜地躺著,像睡著了一般标捺。 火紅的嫁衣襯著肌膚如雪懊纳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天亡容,我揣著相機(jī)與錄音嗤疯,去河邊找鬼。 笑死闺兢,一個(gè)胖子當(dāng)著我的面吹牛茂缚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播屋谭,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脚囊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了桐磁?” 一聲冷哼從身側(cè)響起悔耘,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎我擂,沒(méi)想到半個(gè)月后衬以,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡校摩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年看峻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秧耗。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡备籽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出分井,到底是詐尸還是另有隱情,我是刑警寧澤霉猛,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布尺锚,位于F島的核電站,受9級(jí)特大地震影響惜浅,放射性物質(zhì)發(fā)生泄漏瘫辩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伐厌。 院中可真熱鬧承绸,春花似錦、人聲如沸挣轨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)卷扮。三九已至荡澎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晤锹,已是汗流浹背摩幔。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鞭铆,地道東北人或衡。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像车遂,于是被迫代替她去往敵國(guó)和親封断。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容