记一次Laravel 定时任务schedul:run未执行的处理
关于Laravel的任务调度(定时任务)的配置在此不做赘述,跟着官方文档一步一步的操作是不会导致定时任务不能正常工作的。
为保证能及时捕获定时任务执行出现异常的原因,只需在配置系统crontab时指定日志文件即可。在执行中出现的任何问题都将会记录在你指定(任意区域,需注意权限)的日志当中。这对于寻找问题原因来说,是极为方便的。
* * * * * cd /path-to-your-project && php artisan schedule:run >> 你的日志文件位置.log 2>&1
以上定时任务确是每分钟执行一次,因此无论成功失败,你都会在你指定的日志中看见最新的输出信息。可使用以下指令查看日志中的输出:
tail -f 你的日志文件位置
以上,就能帮助你很快的捕捉到为何你的Laravel定时任务未执行的原因。除此之外,有一个建议是:在将你的定时任务部署到机器上之前,你应该先通过:
php artisan schedual:run
命令来运行一下你的任务,这样可以在开发阶段就能将大部分的问题都处理掉。当然前提是,调用的任务是每分钟执行的,否则的话,该命令只有在符合你所定义的时间间隔时才会去执行你的任务。
最后,提及一个我自己遇到的问题。若你使用root账户创建了定时任务,则无需在定时任务脚本中加入root账户名称。如下:
* * * * * root cd /path-to-your-project && php artisan schedule:run >> 你的日志文件位置.log 2>&1
在我的ubuntu机器上,这样做直接会报错:
/bin/sh:root:command not found
接原因是使用root账户创建crontab定时任务后,该定时任务文件就保存在了/var/spool/cron/root中,因此无需再指定root账户。
文中难免有疏漏,若存在,烦请责正!
PS:以上文中所有指令均为手打,在此不对指令拼写的正确性与各平台的适用性做任何保证。若出现相关问题,烦请自行bing。
记一次Laravel 定时任务schedul:run未执行的处理的更多相关文章
- Laravel 定时任务 任务调度 可手动执行
1.创建一个命令 php artisan make:command TestCommand 执行成功后会提示: Console command created successfully. 生成了一个新 ...
- 记一次Laravel定时任务导致日志没有写入权限的坑
问题:用laravel开发定时任务时,发生了日志没有写入权限导致项目打不开的问题 原因:linux的添加定时任务时默认是当前登录用户,我定时任务会生成日志 crontab: kernel: 生成日志的 ...
- laravel定时任务
原文链接:https://github.com/liebig/cron 感觉Cron只是帮你将很多需要定时执行的任务都归结在一个方法中,并且各自设定不同的时间,比较统一方便,但是在外部还是需要操作li ...
- 记一次ElasticSearch重启之后shard未分配问题的解决
记一次ElasticSearch重启之后shard未分配问题的解决 环境 ElasticSearch6.3.2,三节点集群 Ubuntu16.04 一个名为user的索引,索引配置为:3 primar ...
- flock防止crontab脚本周期内未执行完重复执行(转)
如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用 ...
- 如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...
- jsp中一个标签两种方式绑定两个click事件导致未执行的问题
近日,在开发过程中,写了一个标签 <li id="a1" onclick="doSomething()">...</li> 在js页面中 ...
- Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法
正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft ...
- Erlang的gen_server的terminate()/2未执行
官方资料参考: Module:terminate(Reason, State) Types: Reason = normal | shutdown | {shutdown,term()} | term ...
随机推荐
- [SheetJS] js-xlsx模块学习指南
简介 SheetJS是前端操作Excel以及类似的二维表的最佳选择之一,而js-xlsx是它的社区版本. js-xlsx将注意力集中到了数据转换和导出上,所以它支持相当多种类的数据解析和导出.不仅仅局 ...
- mysql导出函数或者存储过程 设置显示方式
mysql导出函数或者存储过程 mysqldump -hhostname -uusername -ppassword -ntd -R databasename > /app/backupflie ...
- linux加大服务器文件描述符
最简单的说,在 unix/liux 里面,你的服务只要开启一个进程,就要占用文件描述符的.liunx 默认 是 1024,如果描述符少了,你的访问量多了,你的服务器支撑不了,所以要把描述符加大. #e ...
- MYSQL学习笔记——数据类型
mysql的数据类型可以分为三大类,分别是数值数据类型.字符串数据类型以及日期时间数据类型. 数值数据类型 ...
- java判断回文数
- SOAP、WSDL、 UDDI之间的关系
SOAP(Simple Object Access Protocol) 简单对象访问协议: WSDL(Web Services Description Language) Web服务描述语言: UDD ...
- alert(1) to win 11
- File类常用方法和枚举
新建一个file对象: File f = new File("F:\\01.JAVA基础300集\\05_常用类\\122.File类的使用.mp4"); (文件路径也可以用&qu ...
- 测试tensorflowgpu版本是否可用
输入一下代码即可 import tensorflow as tf print(tf.test.is_gpu_available())
- Test 6.24 T3 水题
问题描述 秋之国首都下了一场暴雨,由于秋之国地势高低起伏,不少地方出现了积水. 秋之国的首都可以看成一个 n 行 m 列的矩阵,第 i 行第 j 列的位置高度为 ai,j,首都以外的地方的高度可以都看 ...