定时任务的测试结果
当服务器设置每分钟生效的时候 程序如果设置10分钟生效那么它会每小时的十分钟运行!
无论是程序还是服务器的设置都是按照时间来定,而不会说啥时候开启的啥时候运行、当服务器运行时间到则进入程序、程序则运行并判断运行时间、目前得到的结论是这样!具体对错不清楚、已开启周期任务、明天看看
文档已经很清楚了
@qietugou 文档只说了程序的、没有说服务器的怎么设置 也没说两者之间的关联、总不能用文档里所说的每分钟执行一次吧
文档已经很清楚了
我测试的结果
每10分钟就是真的每个小时的0/10/20/30/.../50分执行 就是能被10整除的分钟数 小时、周一样
我觉得这么设计挺好的 我觉得符合人类时间的定义和认知 假设一个网站来说每10分钟搞个什么终端用户完全知道啥时间会发生什么事
@cevin 是挺好的!但是你不可能真的设置十分钟一次、毕竟这个任务不是一条、而且我昨晚测试过、服务器设置39 */1 * * *!程序设置hourly和daily竟然没调用。。。不知道咋回事
@fengqyuan 会不会是服务器设置的每小时内的必须大于等程序的、也就是0 */1才可以 不能用39 */1、 :joy:有兴趣可以测试一番 具体不清楚咋回事
php 不是常驻 服务器设置 每分钟执行一次检测脚本
脚本里面才是你真正的定时任务,例如下面的 服务器就按照文档设置每分钟执行一次
@yekern 我知道你的意思 但是我不想让服务器每分钟执行一次、我设置的是两小时。。。然后再结合程序的
你不想让服务器每分钟执行一次?为什么?
虽然不知道你到底要实现什么样的逻辑,但是你明确说明不想让服务器每分钟执行一次。
那Laravel文档中说明的下列方法就不能用了, 因为一旦使用下列Cron,Laravel就会每分钟执行一次。
如果没有上述Cron,我们就无法在命令行执行Laravel了吗?那倒不是。
如果要特定时间执行某个逻辑,你需要创建Command,具体创建过程在文档里,而Command是可以用
php artisan test:command在命令行运行,那Crontab就可以设定成
了吧
大概明白啥意思了, 不想后台每分钟检测是不是该到时间执行任务了,那么你就可以不用任务检测啊, 自己写个commad 然后 如楼上@songxue77 的不不就好了么 完全用不到 框架自带的定时任务, 或者自己写一个php文件然后使用系统自带定时调用就好了啊.
@songxue77 :joy:我还是对框架有好感的 想用到它 因为我不是一个任务 可能有四五个、所以在研究他是咋回事。。。
@songxue77 根据https://tool.lu/crontab/的测试你的不对的!得把分设置成0才是有效的、不然无效、
学习中
对于这种定时的,我还是喜欢用redis的key过期事件通知