扫码关注官方订阅号
项目中要使用php运算大容量数据。时间不一定。
使用什么技术可以让程序在后台运算,还不影响用户访问网站?
欢迎选择我的课程,让我们一起见证您的进步~~
入队列,简单点用redis lpush,开一个进程消费队列处理逻辑
与 @苏生不惑 说的一样,我这边的项目也是用的Laravel,这种需要后台运算的任务借助了redis的队列,来进行消费,随着开发中不断遇到各种坑,后来就写了一个开源项目 TaskRunner,因为一直自己公司用,所以就没有写文档,这个项目使用Golang开发的一个服务端程序,可以快速并发的消费Redis队列中的任务(命令),支持任务去重以及多channel避免耗时任务执行影响其它重要的任务的执行,感兴趣的话可以参考一下,有时间再完善一下文档。
如果不需要用户触发,可以用cli模式。
是需要用户触发的,
每次任务往MySQL里写个记录,记录任务的状态,通知zeromq或者rabbitmq触发这个大型计算任务,任务的状态用ajax定期查询。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
入队列,简单点用redis lpush,开一个进程消费队列处理逻辑
与 @苏生不惑 说的一样,我这边的项目也是用的Laravel,这种需要后台运算的任务借助了redis的队列,来进行消费,随着开发中不断遇到各种坑,后来就写了一个开源项目 TaskRunner,因为一直自己公司用,所以就没有写文档,这个项目使用Golang开发的一个服务端程序,可以快速并发的消费Redis队列中的任务(命令),支持任务去重以及多channel避免耗时任务执行影响其它重要的任务的执行,感兴趣的话可以参考一下,有时间再完善一下文档。
如果不需要用户触发,可以用cli模式。
是需要用户触发的,
每次任务往MySQL里写个记录,记录任务的状态,通知zeromq或者rabbitmq触发这个大型计算任务,任务的状态用ajax定期查询。