Laravel 5.1 队列的使用问题
看了下文档,还是不太明白laravel的队列。在后台进行对网站内所有用户发送系统通知,想采用队列的形式来执行。
控制器代码贴图
队列类那的代码
貌似并没有进入队列,可是看了下文档 还是有点不明白。监听队列的话并没有执行什么,应该是没进入到队列
修改下代码截图,感谢提醒了下,一次性执行比多次执行好。总结下:其实我们在学习新的东西的时候,很多时候细节没注意到,漏了什么。最好抽时间回来看下之前写的
配置信息贴出来看看
@jeffyer
配置用了sync 就是同步更新,建议你先根据 文档例子 撸一遍,因为有可能有些扩展你没有,
我当时就是,我按照文档自己写了个,发现不行,然后呢,我问我同事,我同事按照文档敲了一遍,可以
我又把我的删掉,按照文档敲一遍,发现还是不行,也不报错,监听没有反应
第二天,我又试了一遍,监听报错了,根据报错信息,修改了对应的文件,然后按照自己的写法,然后就可以了用了!
对应第一句话,sync换成了redis
应该就是用了 sync 的问题了,用 homestead 在开发的话直接换了 redis 的
@叶落山城 我用数据库的话也换成redis吗
@GuoGuo 不想使用redis,队列一定要用redis的吗
@小怪兽 数据库的话,就按照文档开头说的数据库的那种配置呗,估计应该是换成
database
你可以试试,我没用过,用队列本来就是为了快一点,如果有数据库操作就会变慢了,用redis比较快,而且加上延迟,这样能让你服务器减少压力,个人感觉,少操作数据库比较好,或者延迟操作@小怪兽 其实队列我一直用的都是 Beanstalkd ,选择原因就是因为专业
@叶落山城 嗯嗯 我知道这样会对数据库的压力大,不过先用着,后期看看。修改database后是行了,但是会报错,这执行时间得修改吗?如果是这样,是不是意味着队列的时间不能超过自己设置的
@GuoGuo 谢谢,刚去普及了下你说的这个,原来还有分布式内存队列系统。不过看公司项目目前还不需要,如果后期需要我再用上去,谢谢咯
@小怪兽 Beanstalkd是类似memcahe一样的客户端分布式,我到现在都没找到有合适的客户端插件
@klgd https://github.com/ptrofimov/beanstalk_con...
另外说一个,别在foreach里insert
@mingyun 恩恩 得改为一次性insert比较好