我在AWS Elastic Beanstalk平台上运行我的 rails 应用程序,该平台运行具有 Auto Scaling 和 Elastic Load Balancing 的单个 EC2 实例。
我想知道如何在 Elastic Beanstalk 上运行或其他一些后台作业的解决resque
方案delayed_job
。sidekicq
Elastic Beanstalk 上的后台作业有哪些可能的选项?
我在AWS Elastic Beanstalk平台上运行我的 rails 应用程序,该平台运行具有 Auto Scaling 和 Elastic Load Balancing 的单个 EC2 实例。
我想知道如何在 Elastic Beanstalk 上运行或其他一些后台作业的解决resque
方案delayed_job
。sidekicq
Elastic Beanstalk 上的后台作业有哪些可能的选项?
我创建了一个 gem,Active Elastic Job,作为在 Elastic Beanstalk 上运行的 Rails 应用程序的后台作业的解决方案。它利用 Elastic Beanstalk工作环境,这些环境旨在用于 Elastic Beanstalk 应用程序的后台任务。
优点是:
resque
or sidekiq
,然而,这个 gem 只与 Rails >= 4.2 的应用程序兼容。
启动/停止/重新启动后台作业的最佳方式是通过这些任务的初始化脚本。您可以在启动实例时将这些初始化脚本作为服务触发。有关为服务自定义 ElasticBeanstalk 容器的更多信息,请点击此处。
完成后,您可以通过为您的实例创建一个 AMI,然后通过此自定义 AMI 启动具有自动扩展功能的实例来冻结您的初始化脚本。
希望这可以帮助。