laravel/php 定时任务[任务调度]一

7 篇文章 0 订阅

一.在laravel中写下需要调用的接口,使用crontab调用执行

    1.编辑crontab [crontab -e]

    2.填写执行命令: * * * * * root curl 接口通过浏览器的访问地址

二.使用laravel的任务调度

    1.定义调度:  

         在App\Console\Commands下创建Test.php

        

<?php namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Foundation\Inspiring;
use Log;


class edit_time extends Command {

    protected $name = 'test';//命令名称

    protected $description = 'test'; // 描述

    /**
     * Execute the console command.
     *
     */
    public function handle()
    {
        // 功能代码写到这里

    }

}

 

  2.编辑App\Console\Kernel.php

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        \App\Console\Commands\Test::class,
    ];
    /**
     * Define the application's command schedule.
     *这个方法中提供了多种方法来控制定时任务的时间间隔
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('test') //Test.php中的name
        ->everyMinute();//每五分钟执行一次
    }

    /**
     * Register the Closure based commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

  控制时间间隔的多种方法:

->cron('* * * * *');    在自定义Cron调度上运行任务
->everyMinute();    每分钟运行一次任务
->everyFiveMinutes();   每五分钟运行一次任务
->everyTenMinutes();    每十分钟运行一次任务
->everyThirtyMinutes(); 每三十分钟运行一次任务
->hourly(); 每小时运行一次任务
->daily();  每天凌晨零点运行任务
->dailyAt('13:00'); 每天13:00运行任务
->twiceDaily(1, 13);    每天1:00 & 13:00运行任务
->weekly(); 每周运行一次任务
->monthly();    每月运行一次任务
->monthlyOn(4, '15:00');    每月4号15:00运行一次任务
->quarterly();  每个季度运行一次
->yearly(); 每年运行一次
->timezone('America/New_York'); 设置时区

3.最后,编辑crontab 

添加调度命令:

* * * * * /usr/bin/php7.0 /home/wwwroot/laravel/artisan schedule:run >> /dev/null 2>&1

注意:/usr/bin/php7.0 php位置
     * * * * * 分别代表 分 时 日 月 周 (定时任务的时间) 
     /home/wwwroot/laravel/ 项目位置

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值