当前位置: 首页 > 后端技术 > PHP

记得一个Laravel定时任务schedul-runnotexecutedprocessing

时间:2023-03-30 04:58:54 PHP

Laravel的任务调度(scheduledtask)的配置这里就不赘述了。按照官方文档一步一步来,不会导致定时任务无法正常运行。为了保证能够及时捕捉到定时任务执行异常的原因,只需要在配置系统crontab时指定日志文件即可。执行过程中出现的任何问题都会记录在您指定的日志中(任何区域,请注意权限)。这对于查找问题原因极为方便。*****cd/path-to-your-project&&phpartisanschedule:run>>您的日志文件位置。log2>&1上面的定时任务确实是每分钟执行一次,所以无论成功还是失败,你都会在你指定的日志中看到最新的输出。您可以使用以下命令查看日志中的输出:tail-f在您的日志文件的位置上方,它可以帮助您快速捕获为什么您的Laravel计划任务没有执行。另外,还有一个建议:在将你的定时任务部署到机器上之前,你应该先通过phpartisanscheduled:run命令来运行你的任务,这样大部分部署在开发阶段的问题就可以得到处理。当然,前提是被调用的任务是每分钟执行一次,否则命令只会在满足你定义的时间间隔时才执行你的任务。最后提一个我自己遇到的问题。如果使用root账号创建定时任务,定时任务脚本中不需要添加root账号名。如下:*****rootcd/path-to-your-project&&phpartisanschedule:run>>Yourlogfilelocation.log2>&1在我的ubuntu机器上,这样会直接报错:/bin的/sh:root:commandnotfound的直接原因是使用root账号创建crontab定时任务后,定时任务文件保存在/var/spool/cron/root,所以不需要指定root帐户。文中难免有疏漏之处,如有请指正!PS:以上所有说明均为手写,我们不对说明拼写的正确性和各平台的适用性做任何保证。有问题请自行解决。