laravel定时任务需不需要用cron

这篇文章主要介绍“laravel定时任务需不需要用cron”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel定时任务需不需要用cron”文章能帮助大家解决问题。

创新互联凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都网站建设、成都做网站服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。

laravel定时任务需要用cron;laravel中想要定时执行所有的laravel任务,就需要在服务器上添加cron条目,在root文件中添加“phppath 项目路径/artisan schedule:run...”代码即可。

本文操作环境:linux7.3系统、Laravel5.4版、Dell G3电脑。

laravel定时任务需要用cron吗

laravel中有一个很强大上的功能,只需要在服务器上添加一个cron条目,就可以定时执行所有的laravel任务。

我想让cron表中的cron字段的值每分钟增加1,那么我需要如下步骤:

1、在App\Console\Kernel.php中编写laravel代码

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {
                    DB::table('cron')->increment('cron');
                })->everyMinute();
 }

2、在服务的/var/spool/cron/root文件中添加代码

注意:这里最好使用vim编辑器编辑文件,如果使用winscp编辑文件,会出现不执行任务的问题。

在命令行输入

crontab -e

添加如下代码

* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1

在命令行输入

crontab -u root -l

不需要重启cron服务,因为系统每分钟都会读一遍/var/spool/cron目录下的文件。

如果发现按照如下配置还是不能执行的话,可以用以下方法排除问题:

看一下命令有没有使用绝对路径,比如这里使用/usr/local/php/bin/php而不是php,使用/data/wwwroot/test/artisan而不是artisan。

如果已经使用了绝对路径还是不执行,那就直接在命令行输入/usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1,看看有没有执行,如果没有执行,那就是laravel代码的问题,如果执行了说明是环境变量的问题,好好检查路径的问题。如果不知道php在什么地方,在命令行输入which php,就会提示你php安装在什么位置了。

关于“laravel定时任务需不需要用cron”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


当前文章:laravel定时任务需不需要用cron
本文URL:http://hbruida.cn/article/iiippj.html