簡體   English   中英

如何在AWS Elastic Beanstalk上使用Resque運行Rails后台作業?

[英]How can I run Rails background jobs with Resque on AWS Elastic Beanstalk?

我在AWS Elastic Beanstalk平台上運行我的rails應用程序,該平台運行帶有Auto Scaling和Elastic Load Balancing的單個EC2實例。

我想知道如何在Elastic Beanstalk上運行resquedelayed_jobsidekicq或其他一些后台作業解決方案。

Elastic Beanstalk上的后台作業有哪些可能的選項?

我創建了一個gem, Active Elastic Job ,作為在Elastic Beanstalk上運行的Rails應用程序的后台作業的解決方案。 它利用Elastic Beanstalk 工作線程環境 ,這些環境旨在用於Elastic Beanstalk應用程序的后台任務。

優點是:

  • 您可以使用相同的代碼庫來執行后台作業,無需分支應用程序的專用版本以在工作環境中運行,
  • 利用Elastic Beanstalk自動縮放功能,
  • 無需設置外部EC2實例或服務來運行排隊后端,如resquesidekiq
  • 無需自定義Elastic Beanstalk容器。
  • 保持Elastic Beanstalk預定義基礎架構的簡單性。

但是,此gem僅與Rails> = 4.2應用程序兼容。

啟動/停止/重啟后台作業的最佳方法可以是通過這些任務的init腳本。 啟動實例時,可以將這些init腳本作為服務觸發。 有關在此處為服務自定義ElasticBeanstalk容器的更多信息。

完成后,您可以通過創建實例的AMI來凍結init腳本,然后使用自動縮放功能從此自定義AMI啟動實例。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM