我在网上搜索,但我没有找到任何解决方案,我的问题。 我使用laravel 5.2和SQS作为队列驱动程序。 我正在派遣一份工作,以便将电子邮件发送给100位用户。 作业收到“文章”模型和“用户”数组,并且每个用户都应该收到带有“文章”的电子邮件。Laravel工作大小限制已超过256kb(队列SQS aws)
当它是10个用户都可以。 当它是100个用户时,我收到来自amazon SQS服务的错误消息“400错误请求”,并且响应是:“原因:消息必须小于262144字节。” 我明白这个工作的要求太大,因为用户的数组。
我想拆分用户的数组,以便将作业的请求大小减少到小于256kb。 我可以通过循环遍历用户的数组来完成,每当我接近256kb时,我将派发一篇文章和用户的工作,然后我将继续运行数组中的其余用户。
- 什么是检查当前作业请求大小我们派遣之前的方式吗?
- 您有更好的解决方案吗?
非常感谢您提前 狮子座。
有你派遣一个工作有100篇文章,而不是100个工作岗位的理由每篇有1篇文章?这首先是队列系统的一大特点。 – CmdrSharp
@CmdrSharp我正在发送一个包含100个项目的作业(1个EVENT和100个用户),以减少队列请求。每个EVENT将运行在用户身上,并将发送EMAIL到100个用户的相同(取决于条件),因此最终我将发送100个作业发送EMAIL。 SO 1 EVENT工作,100个用户和100个工作岗位发送EMAILS。 – llioor