ruby-on-rails - 在 aws 实例上运行 rake 任务
问题描述
我在 AWS 实例中运行 take 任务时遇到问题。该实例具有自动缩放/负载均衡器配置,当它达到某些预定义的限制时会创建一个新实例。
rails 项目有一个 rake 任务,每晚都会进行大量数据库插入/更新。
但是,当该 rake 任务正在执行时,自动缩放功能会创建一个新实例,并且正在运行该任务的进程会丢失。
为了解决这个问题,我可以做出任何解决方案吗?
问题是:每次 aws 从自动缩放配置启动新实例时,都不会丢失任务运行过程。
谢谢。
解决方案
您可以尝试一些选项,具体取决于您的应用程序设计:
- 在不属于自动缩放组的单独实例上运行任务,并且您可以根据需要启动(可能在 docker 中?)。
- 重新设计要分发的任务,以便新实例无关紧要。
- 安排组的预缩放,以便在开始 rake 任务之前添加所需的实例。 https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html#recurrence-schedule-cron
推荐阅读
- node.js - 如何只更新一次 MongoDB 文档字段?
- c# - 将 JSON 响应转换为自定义 C# 对象
- r - 添加独立于条形文本标签的子图编号
- c++ - 这在 C++ 中是未定义的吗?
- javascript - 如何防止在 react.js 中使用lazyLoad 重新渲染?
- git - Julia 1.6:不能在 Windows 上使用代理进行 git 克隆(但单独使用 git 可以)
- jmeter - 合并 JMeter csv 结果并绘制图表
- azure-devops - Azure 开发运维。生成唯一变量
- java - 通过 java & myphpadmin 从数据库中检索数据
- python - Python 向自定义 API 发布请求