关于laravel学习--定时操作

利用laravel框架的定时任务,在Liunx环境中使用定时任务

       本篇博客将教大家如何在linux环境下,使用Laravel的定时任务,执行我们需要定时操作的方法或者函数。Laravel框架的定时任务函数是在根目录下的app\Console中的Kernel文件中,我们只要把我们需要定时操作的方法放在schedule方法中便可以,具体方法我们可以参考Laravel定时任务。下面我们来看看具体操作

       首先我们先在外部定义好我们需要执行的方法,方法根据情况编写,我这里写的一个测试代码如下:

static function timer()
{
   self::sendEmail();
}

然后我们便可以在Kernel文件中的schedule方法用引入我们事先写好的方法,代码如下:

protected function schedule(Schedule $schedule)
{
   //每一个小时执行一次不重复操作
   $schedule->call(function () {
         ServiceHomeMessage::timer();
   })->hourly()->name('timerMinute')->withoutOverlapping();
}

我这里是每小时执行一次定时任务,而且是不重复执行未完成的数据,在hourly后面有个withoutOverlapping函数,这里的意思就是在数据未完成的情况下,是不会再次去执行这条数据,而且我们需要给他定一个name,否则就会出错,详细说明可以参考Laravel定时任务这样我们就完成了大部分的操作。

      我们在根目录命名一个文件名为cron.txt,里面代码如下:

* * * * * php 项目根目录/artisan schedule:run >> /dev/null 2>&1

       然后在我们linux环境中,在命令行中进入到项目根目录输入以下代码: crontab cron.txt ,这样我们便启动了定时任务,我们可以使用 crontab l 查看定时任务情况。

       完成以上这些,我们便成功的使用了Laravel定时任务。