讨论数量:
你要是实现秒级的定时任务,你就写个 artisan 命令,里边搞个 while (true){ // 业务逻辑 // 睡 200 毫秒} 然后用守护进程把这个 artisan 命令 监听下,就可以完全可以了啊。我就这么搞的,从来没出过你说的 mysql 的那两个问题
直接写 1 个 command 脚本:1、配合宝塔的定时任务功能,定期执行 tp 的 think 命令或者 laravel 的 artisan 命令;2、在 command 脚本里面写个 whil 死循环,业务执行完后就 sleep 休眠一段时间,这个可以配合宝塔的 supervisor 来进行守护进程(也可以自己写一个定时脚本来进行进程守护)
定时任务其实可以用 go 写的 jiacrontab 和 java 写的 xxl-job-admin, 用 laravel 写一个自定义命令 console. 用这些定时任务平台来触发 php 命令。比用 php 的常驻内存实现的定时任务效果要好。有日志,有错误警告,脚本超时提示.
推荐文章: