簡體   English   中英

如何告訴我的 Elastic Beanstalk 實例不要進入睡眠狀態?

[英]How do I tell my Elastic Beanstalk instance not to go to sleep?

我已經在 .NET (Windows/IIS) 平台上設置了一個 Elastic Beanstalk 實例。 我在那里部署了一個 .NET Core 應用程序,它可以做兩件事:

  1. 回復 Hello world! 當我到達終點時 - 但我不在乎。
  2. 為 RabbitMQ(也在 AWS 中托管)設置偵聽器。 每次我在 RabbitMQ 中發送一條消息時,這個監聽器都會觸發一條 SMS。

第 2 項效果很好 - 我發送了一條消息,不到一秒鍾后,我的手機上收到了一條 SMS 消息。

問題是 AWS 在一段時間不活動后讓應用程序進入睡眠狀態。 這會導致 RabbitMQ 偵聽器也進入睡眠狀態。 這會導致未送達的 SMS 消息。 直到我通過轉至 Elastic Beanstalk 分配給我的 URL 喚醒實例。

如何讓我的 Elastic Beanstalk 實例不進入睡眠狀態? 有什么我可以從 C# 代碼中調用來阻止它這樣做的嗎?

這是我在這篇文章之后實現的。

  1. 在 api/web 項目的根目錄下創建一個 .ebextensions 文件夾。
  2. 在這個項目中,任何 .config 文件都將用作彈性 beantalk 的配置,它們將按字母順序應用。 所以創建一個包含以下內容的文件:(見鏈接,空白很重要,我似乎無法在這里找到它......)

    命令:setIdleTimeoutToZero:cwd:“C:\\windows\\system32\\inetsrv” 命令:“appcmd set apppool /apppool.name:DefaultAppPool /.processModel.idleTimeout:0.00:00:00”

  3. 確保文件始終復制到輸出。

  4. 你應該很高興去。

暫無
暫無

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

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