Rails - 在不破坏已经处理的请求的情况下停止接受请求的“正确”方法是什么?

时间:2017-08-14 07:13:22

标签: ruby-on-rails backup puma

我需要几秒钟来备份(Rails 5与Puma集群在nginx反向代理后面)应用程序的数据,其中包括数据库和文件系统记录。像备份gem这样的典型Rails备份解决方案似乎无法处理这种情况,所以我想最简单的方法就是在几秒钟内停止为客户提供服务。这将确保完成所有事务并获得一致的数据集。但是,允许已经处理的请求不受干扰地响应的最佳方法是什么,同时又不允许任​​何其他请求?

2 个答案:

答案 0 :(得分:0)

你可以检查这两个,这可能会有所帮助。

Backup Gem

Dumper Gem

答案 1 :(得分:0)

@silverdr,我并不安静地理解你所说的内容,但我想知道实时同步功能是否可以帮到你。实时同步是一种同步功能,它使目标位置上的数据与源位置上的数据保持一致。也就是说,一旦对源文件进行了更改,目标位置上的相关文件将立即更新。