我在AWS Elastic Beanstalk平台上运行我的rails应用程序,该平台正在使用Auto Scaling& amp;运行单个EC2实例。弹性负载平衡。
我想知道如何在Elastic Beanstalk上运行resque
,delayed_job
或sidekicq
或其他一些后台作业解决方案。
Elastic Beanstalk上的后台作业有哪些可能的选项?
答案 0 :(得分:3)
我创建了一个gem Active Elastic Job,作为在Elastic Beanstalk上运行的Rails应用程序的后台作业的解决方案。 它使用Elastic Beanstalk worker environments,它们用于Elastic Beanstalk应用程序的后台任务。
优点是:
resque
或sidekiq
,但是,此gem仅与Rails> = 4.2应用程序兼容。
答案 1 :(得分:1)
启动/停止/重启后台作业的最佳方法可以是通过init脚本完成这些任务。启动实例时,可以将这些init脚本作为 services 触发。有关为服务here自定义ElasticBeanstalk容器的更多信息。
完成后,您可以通过创建实例的AMI来冻结init脚本,然后使用自动缩放功能从此自定义AMI启动实例。
希望这有帮助。