如何解决部署后,活动模型序列化程序在生产上突然停止工作
我有一个带有Active模型序列化程序的Rails 6应用程序。定义了一些序列化器,用于以定义的自定义json格式输出结果。我使用AWS ECS容器将代码部署到生产环境。默认生产配置使用开箱即用的文件存储来缓存所有默认生产设置。
最近我注意到通过迁移向表中添加列或向序列化器类添加属性时,我注意到了。部署后的一段时间,应用程序不会以序列化程序类以定义的格式输出对象。相反,它只是输出具有所有属性的json计划中的对象。这导致Web前端崩溃,因为它预期结果具有对象根属性和自定义格式。似乎序列化程序类停止工作,并且完全忽略了序列化。我必须使用完全相同的代码进行另一次部署才能解决此问题,以便它可以正确地序列化对象。
ECS中有2个实例。我注意到发生此问题时,它会间歇性地返回正确的格式,因此我猜它可能已经击中了很好的实例,但结果不一致。我还尝试了从ECR中提取docker映像并在本地运行它们,并且所有代码都正确无误。对于部署,在部署新代码之前,有一个仅用于迁移的新容器。
我是Rails应用程序的新手。我不知道是什么引起了这个问题,以及如何防止这种情况发生。也许我需要在每个容器中使用像Redis这样的集中式缓存存储,而不是本地文件系统。有人遇到过这个问题吗?非常感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。