我有一个小型部署项目,该项目运行一堆Job,通过Job链依次运行一堆Job:
https://laravel.com/docs/5.6/queues#dispatching-jobs
从一开始,我已经设置Redis来处理我的队列,但是我很快意识到使用sync
驱动程序更容易进行测试。
当我在.env
文件中切换驱动程序并重新启动时,乔布斯的运行速度更快。他们正在通过laravel-echo
服务器和推送程序与我的前端进行通信。我已经设置了侦听器来侦听部署开始,并且前端可以立即接收数据。
使用Redis,这通常需要几秒钟的时间,我什至不会收到第一个通知。
我的配置与默认设置非常接近,并且正在使用Homestead。我是否不知道有什么可能会提高Redis的性能,还是sync
驱动程序会始终更快?
如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
重点是,sync
驱动程序使用主线程来执行任务,该线程仅在开发中才有用。排队长时间运行的任务的主要思想是能够在某些背景下执行它们这样,您的主应用程序线程就不会被阻塞,您可以更快地满足客户的请求。