成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

laravel定時(shí)任務(wù)和命令行

MartinDai / 818人閱讀

摘要:應(yīng)用場(chǎng)景定時(shí)腳本任務(wù)需要在凌晨計(jì)算前一日的數(shù)據(jù)并匯總到統(tǒng)計(jì)表中。命令復(fù)雜的定時(shí)任務(wù)可以配合命令。命令按照命令行文檔,了解它的使用和配置。使用命令腳本名稱生成執(zhí)行文件,文件在中查看。

應(yīng)用場(chǎng)景:

定時(shí)腳本任務(wù)
需要在凌晨計(jì)算前一日的數(shù)據(jù)并匯總到統(tǒng)計(jì)表中。

Artisan命令
復(fù)雜的定時(shí)任務(wù)可以配合Artisan命令。

Artisan命令:

按照 Laravel Artisan命令行 文檔,了解它的使用和配置。

使用Artisan命令 php artisan make:command {腳本名稱} 生成執(zhí)行文件,文件在 app/Console/Commands 中查看。

添寫Artisan命令的名稱和描述,例如:

protected $signature = "stat:generate {start? : 腳本統(tǒng)計(jì)的起始時(shí)間(選填 eg.2017-10-01 )} {end? : 腳本統(tǒng)計(jì)的結(jié)束時(shí)間(選填)}";

protected $description = "生成每日的統(tǒng)計(jì)信息";

$signature屬性中的 start? end? 表示可輸入的可選參數(shù),這里提供了腳本開始和結(jié)束時(shí)間的可選項(xiàng),用于生成指定時(shí)間日期內(nèi)的統(tǒng)計(jì)信息,eg. php artisan stat:generate 2017-08-01 。

在handle()方法中寫程序部分

    public function handle()
    {
        // 如果未輸入日期參數(shù),默認(rèn)選擇前一天作為統(tǒng)計(jì)時(shí)間(??是php7新語(yǔ)法)
        $this->date = $this->argument("start") ?? date("Y-m-d", strtotime("-1 day"));
        $endDate = $this->argument("end") ?? date("Y-m-d");
        
        // 判斷輸入的日期格式是否正確
        if (!strtotime($this->date) || !strtotime($endDate)) {
            $this->error("請(qǐng)輸入正確的日期格式!");die;
        }

        // 循環(huán)執(zhí)行每一天的統(tǒng)計(jì)腳本
        while ($this->date < $endDate) {
            // 這里是需要執(zhí)行的統(tǒng)計(jì)邏輯,sql等
            $this->_active_num_game();
            // 每執(zhí)行一次,統(tǒng)計(jì)日期加1天
            $this->date = date("Y-m-d", strtotime("{$this->date} +1 day"));
        }
    }
定時(shí)腳本任務(wù):

將以下命令添加到cron 中

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
 

所有的計(jì)劃任務(wù)定義在 AppConsoleKernel 類的 schedule 方法中,Artisan命令寫在commands屬性中。

    protect $commands = [
        Commands{聲明的腳本文件名稱}::class
    ];
    
    protected function schedule(Schedule $schedule)
    {
        // 上面的Artisan命令將在每晚執(zhí)行
        $schedule->command("stat:generate")->daily();
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30651.html

相關(guān)文章

  • 高性能千萬(wàn)級(jí)定時(shí)任務(wù)管理服務(wù)forsun laravel插件使用詳解

    摘要:高性能高精度定時(shí)服務(wù),輕松管理千萬(wàn)級(jí)定時(shí)任務(wù)。支持任務(wù)到期觸發(fā)和。支持創(chuàng)建延時(shí)任務(wù)和定時(shí)到期任務(wù),和原生保持相同接口,輕松使用。不支持任務(wù)輸出任務(wù)鉤子及維護(hù)模式。是不指定任務(wù)名時(shí)自動(dòng)生成,每個(gè)任務(wù)名必須唯一,相同任務(wù)名重復(fù)定義將會(huì)自動(dòng)覆蓋。 Forsun高性能高精度定時(shí)服務(wù),輕松管理千萬(wàn)級(jí)定時(shí)任務(wù)。 定時(shí)服務(wù)項(xiàng)目地址:https://github.com/snower/forsun l...

    Muninn 評(píng)論0 收藏0
  • Laravel 開源項(xiàng)目 『 糖果盒子 - Web 開發(fā)者的書簽導(dǎo)航 』

    摘要:項(xiàng)目概述糖果盒子是采用開發(fā)的站點(diǎn)導(dǎo)航應(yīng)用,專注分享優(yōu)質(zhì)開發(fā)資源站點(diǎn),希望成為開發(fā)人員最喜愛(ài)的的書簽導(dǎo)航。線上地址糖果盒子開發(fā)者的書簽導(dǎo)航地址求環(huán)境要求部署安裝本項(xiàng)目代碼使用框架開發(fā),本地開發(fā)環(huán)境使用。 showImg(https://segmentfault.com/img/remote/1460000012018405?w=3346&h=1950);showImg(https://s...

    姘存按 評(píng)論0 收藏0
  • Laravel 開源項(xiàng)目 『 糖果盒子 - Web 開發(fā)者的書簽導(dǎo)航 』

    摘要:項(xiàng)目概述糖果盒子是采用開發(fā)的站點(diǎn)導(dǎo)航應(yīng)用,專注分享優(yōu)質(zhì)開發(fā)資源站點(diǎn),希望成為開發(fā)人員最喜愛(ài)的的書簽導(dǎo)航。線上地址糖果盒子開發(fā)者的書簽導(dǎo)航地址求環(huán)境要求部署安裝本項(xiàng)目代碼使用框架開發(fā),本地開發(fā)環(huán)境使用。 showImg(https://segmentfault.com/img/remote/1460000012018405?w=3346&h=1950);showImg(https://s...

    summerpxy 評(píng)論0 收藏0
  • Laravel 開源項(xiàng)目 『 糖果盒子 - Web 開發(fā)者的書簽導(dǎo)航 』

    摘要:項(xiàng)目概述糖果盒子是采用開發(fā)的站點(diǎn)導(dǎo)航應(yīng)用,專注分享優(yōu)質(zhì)開發(fā)資源站點(diǎn),希望成為開發(fā)人員最喜愛(ài)的的書簽導(dǎo)航。線上地址糖果盒子開發(fā)者的書簽導(dǎo)航地址求環(huán)境要求部署安裝本項(xiàng)目代碼使用框架開發(fā),本地開發(fā)環(huán)境使用。 showImg(https://segmentfault.com/img/remote/1460000012018405?w=3346&h=1950);showImg(https://s...

    CntChen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<