我们的一项邮件处理服务面临一个零星的问题。我们收到以下错误
NoMethodError: undefined method `assign_attributes' for #<Message:0x00>
这里Message
是活动记录类。给服务提供相同的输入后,它在大多数情况下都可以成功运行,并因该错误而失败几次。
在创建新记录时发生错误。
Message.create(data: '', status: '')
有什么想法会有所帮助吗?谢谢。
答案 0 :(得分:0)
该进程正在从输入队列中读取消息。问题是因为我们在rails初始化程序中有了队列侦听器。
由于此,当服务以输入队列中的消息启动时,它立即开始处理消息。但是由于我们正在使用的集群中的大量使用,rails引导尚未完成。因此,事实证明这是一个时间问题。现在,我们已经增加了一些睡眠时间,以便为铁轨做好准备。
我们计划最终将队列侦听器移出后台作业。