NoMethodError:## message:0x00>

时间:2018-09-28 16:13:26

标签: ruby-on-rails activerecord

我们的一项邮件处理服务面临一个零星的问题。我们收到以下错误

NoMethodError: undefined method `assign_attributes' for #<Message:0x00>

这里Message是活动记录类。给服务提供相同的输入后,它在大多数情况下都可以成功运行,并因该错误而失败几次。

在创建新记录时发生错误。

Message.create(data: '', status: '')

有什么想法会有所帮助吗?谢谢。

1 个答案:

答案 0 :(得分:0)

该进程正在从输入队列中读取消息。问题是因为我们在rails初始化程序中有了队列侦听器。

由于此,当服务以输入队列中的消息启动时,它立即开始处理消息。但是由于我们正在使用的集群中的大量使用,rails引导尚未完成。因此,事实证明这是一个时间问题。现在,我们已经增加了一些睡眠时间,以便为铁轨做好准备。

我们计划最终将队列侦听器移出后台作业。