这篇文章主要介绍怎么使用laravel的任务调度,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
站在用户的角度思考问题,与客户深入沟通,找到远安网站设计与远安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站设计、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名与空间、网页空间、企业邮箱。业务覆盖远安地区。
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编辑文件,会出现不执行任务的问题。
使用vim教程链接:http://www.cnblogs.com/zzdylan/p/5941706.html
在命令行输入
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的任务调度”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!