美文网首页
Laravel 定时任务的实现

Laravel 定时任务的实现

作者: 禅大师 | 来源:发表于2019-01-13 23:56 被阅读0次

在php程序中,需要执行定时任务的地方, 往往通过linux系统中的cron来实现。如果有多个任务,而且所需要的时间都不相同的时候,cron管理起来很不方便。为此,Laravel框架提供了一个方便的功能实现任务的定时执行。

在app/Console/Kernel.php 中,可以看到以下代码:

    protected function schedule(Schedule $schedule)
    {
        $schedule->command('inspire')
                 ->hourly();
    }

这个 schedule 方法就是定时任务执行的关键,我们可以将所有的定时任务都放到其中,其中, Laravel 提供了诸多的方法来控制任务执行的时间间隔,例如:

    $schedule->command('foo')->everyFiveMinutes();
    $schedule->command('foo')->everyTenMinutes();
    $schedule->command('foo')->everyThirtyMinutes();
    $schedule->command('foo')->mondays();
    $schedule->command('foo')->tuesdays();

在定义完以上的任务之后,可以通过 php artisan schedule:run 来执行这些任务,但是,这个任务执行起来后,需要不断的执行这个这个命令定时器才能不断的运行,所以就需要 linux 的系统功能的帮助,在命令行下执行下面的命令:

vi /etc/crontab 

编辑文件,在最后加入一行:

    * * * * * php /path/to/artisan schedule:run >> /var/log/cron.log  2>&1

表示每分钟执行一次artisan schedule:run,并且将所有输出保存到日志中以便排查问题。保存后退出就可以开始自动定时执行任务了。

相关文章

  • Laravel 实现定时任务

    在app/console就会看到刚刚所有创建的文件(名称) 修改: 需要执行的逻辑写在handle方法中 注册路由...

  • Laravel 定时任务的实现

    在php程序中,需要执行定时任务的地方, 往往通过linux系统中的cron来实现。如果有多个任务,而且所需要的时...

  • 2018-10-15 实现秒级定时任务

    laravel的定时任务默认是使用crontab,最快只能1分钟执行一次。有以下几种方式可以实现秒级定时任务 通过...

  • Laravel实现定时任务的示例代码

    最近在玩Laravel实现定时任务,这个是示例代码,可以参照这个实例。有需要的可以看看 定时任务是后端开发过程中一...

  • Laravel定时任务Schedule2018-10-26

    爱漂泊人生 PHP Laravel定时任务Schedule 前提:本文方法是利用Linux的crontab定时任务...

  • Laravel实现定时任务示例(任务调度schedule)

    这里以一个定时统计每天订单量的需求做示例 一、创建 Command 文件 输入命令 php artisan mak...

  • Laravel实现定时任务的示例代码

    定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的...

  • day 22 操作系统定时任务

    系统定时任务概念==生活中闹钟 系统定时任务实现方法: 实现定时任务配置: 定时任务如何进行设置 定时任务编写常见...

  • laravel 任务调度实例

    导语 之前写过使用 Linux 的进行定时任务,实际上 laravel 也可以执行定时任务。需求是统计每日访问的 ...

  • laravel任务调度-定时任务

    写在前面的话: 其实laravel的任务调度(定时任务)在文档中已经写得很清楚了,只是对于刚入门或者还不是很熟练的...

网友评论

      本文标题:Laravel 定时任务的实现

      本文链接:https://www.haomeiwen.com/subject/udsrdqtx.html