Laravel 任务调度
Laravel 任务调度(定时任务)
记录一下自己在第一次使用laravel的调度任务遇到的坑~~
这里做一个简单任务调度,我这里的需求是这样的,需要自动调用控制器的一个方法,需要每天定时发送公众号模板消息
那么我需要如下步骤:
1、在App\Console\Kernel.php中编写laravel代码
protected function schedule(Schedule $schedule)
{//上班打卡提醒推送定时任务$schedule->call('App\Http\Controllers\Index\UserController@send_sgin_Mamage')->at('7:30')->weekdays();$schedule->call('App\Http\Controllers\Index\UserController@send_sgin_Mamage')->at('11:30')->weekdays();$schedule->call('App\Http\Controllers\Index\UserController@send_sgin_Mamage')->at('12:30')->weekdays();$schedule->call('App\Http\Controllers\Index\UserController@send_sgin_Mamage')->at('17:00')->weekdays();}
含有很多的定时规则,详情可以查看 laravel文档
https://learnku.com/docs/laravel/5.8/scheduling/3924 调度频率设置
2、在服务的/var/spool/cron/root文件中添加代码
注意:这里最好使用vim编辑器编辑文件,如果使用winscp编辑文件,会出现不执行任务的问题。
使用vim教程链接:http://www.cnblogs.com/zzdylan/p/5941706.html
先进入到自己项目的目录下
cd /home/wwwroot/test
在命令行输入
编辑/添加任务
crontab -e
在光标处按“i”或者“insert”键,即可开始修改操作
添加如下代码
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
php和artisan都要写完整的路径
如果你不知道PHP的路劲,可以用which php 不要用whereis php
输出:
/Applications/XAMPP/xamppfiles/bin/php
根目录就是:
/Applications/XAMPP/xamppfiles/bin/php
也可以动态去到根目录:
cd 项目根目录
eg:
* * * * * cd /home/wwwroot/test && php artisan schedule:run >> /dev/null 2>&1
修改完成之后点击Esc键即可进入命令提示行开始进行保存操作,最下面的INSERT消失之后就可以输入:wq命令进行保存操作了。
在命令行输入
查看任务
crontab -u root -l
不需要重启cron服务,因为系统每分钟都会读一遍/var/spool/cron目录下的文件。
如需要验证任务是否成功执行,可以执行命令
php artisan schedule:run
就会执行schedule方法下的操作啦!
如果发现按照如上配置还是不能执行的话,可以用以下方法排除问题:
看一下命令有没有使用绝对路径,比如这里使用/usr/local/php/bin/php而不是php,使用/data/wwwroot/test/artisan而不是artisan等。
如果已经使用了绝对路径还是不执行,那就直接在命令行输入php artisan schedule:run
,看看有没有执行,如果没有执行,那可能是laravel代码有问题,如果执行了说明是环境变量的问题,好好检查路径的问题。如果不知道php绝对路径是什么,在命令行输入which php
,就会提示你php安装在什么位置了。
这里主要这里记录一下,继续变秃,加油!
Laravel 任务调度相关推荐
- Laravel 任务调度(Console)
在以前,开发者需要为每一个需要调度的任务编写一个Cron条目,这是很让人头疼的事.你的任务调度不在源码控制中,你必须使用SSH登录到服务器然后添加这些Cron条目.Laravel命令调度器允许你平滑而 ...
- Laravel 任务调度(计划任务,定时任务)
欢迎来到手把手复制执行环节!!! 步骤目录 第一步生成调用文件 第二步定义调度 第三步启动调度器 第一步生成调用文件 执行以下命令 php artisan make:command 你的命名 该命令会 ...
- Laravel中的任务计划
在本文中,我们将介绍Laravel Web框架的令人兴奋的功能之一-任务调度. 在本文的整个过程中,我们将研究Laravel如何允许您管理应用程序中的计划任务. 此外,我们还将最终创建用于演示目的的自 ...
- php laravel框架失败_PHP Laravel框架问题记录
该文章记录在使用PHP Laravel框架过程中遇到的一些问题.Laravel官方文档参考这里. Laravel 使用 groupBy 报错 问题描述 使用 groupBy 进行多列分组,或者获取列和 ...
- linux定时任务定向到空,Linux 定时任务下 /dev/null 21 相关知识说明
今天再使用Laravel任务调度的时候,需要在linux的cron添加如下代码:php /path/to/artisan schedule:run 1>> /dev/null 2>& ...
- 2021-03-23 - 高性能 Redis 实战
1.应用场景 主要用于学习Redis 底层实现,编程思想,以及可参考借鉴的技术, 同时在日常开发中如何高效实践高性能 Redis服务. 2.学习/操作 1.文档阅读 高性能 Redis 实战 | La ...
- laravel 任务队列_Laravel5.5之事件监听、任务调度、队列
流程: 1.1 创建event php artisan make:event UserLogin LoginController.php /*** The user has been authenti ...
- php artisan 计划任务,Laravel artisan命令及任务调度
Artisan 是 Laravel 自带的命令行接口名称,它为我们在开发过程中提供了很多有用的命令.除了Artisan提供的系统命令之外,还可以构建自己的命令用于任务调度 1.查看及使用 php ar ...
- php artisan 计划任务,Laravel 定时任务 任务调度 可手动执行
1.创建一个命令 php artisan make:command TestCommand 执行成功后会提示: Console command created successfully. 生成了一个新 ...
最新文章
- 清华滴滴:出行数据透视中国城市空间发展报告!
- python commands模块_python commands模块在python3.x被subprocess取代
- springboot 异步mysql_spring boot 使用@Async实现异步调用方法
- PowerToys插件扩展(类似Alfred)
- [剑指offer]面试题37:两个链表的第一个公共结点
- 计算机应用基础期中上机考试,期中考试计算机应用基础试卷
- ueditor使用-图片上传正常,图片显示异常404
- 解线性方程组的迭代法(雅可比、高斯-塞德尔迭代法)
- 《众妙之门——移动交互体验设计》—— 1.2 物物互联
- 剑指offer——面试题49:把字符串转换成整数
- Python全栈之路——运算符(Day 02)
- 获取KVM虚拟机IP地址
- 十三种Java开发工具
- 云服务器网站不显示图片,解决帝国cms图片显示不出来的问题
- chan算法matlab,MATLAB实现基于Chan氏算法的二维TDOA定位-Go语言中文社区
- linux tc 限速,TC限速
- python:使用机器学习算法对卫星遥感影像进行分类
- OPEN-SET RECOGNITION:A GOOD CLOSED-SET CLASSIFIER IS ALL YOU NEED
- 手把手教你做树莓派魔镜-MagicMirror(一)-准备工作
- recycler上下拉刷新view