gpt4 book ai didi

.net - 使用 Elastic Beanstalk 部署 .NET 工作线程应用程序

转载 作者:行者123 更新时间:2023-12-02 03:43:09 24 4
gpt4 key购买 nike

我正在使用 AWS 基础设施开发更广泛的 Web 应用程序。它有两个“工作”组件,从 SQS 读取工作并将结果写入 RDS 数据库。其中之一是 Python,我已经在单个 Elastic Beanstalk 实例上使用了它。第二个使用 .NET,我目前正在研究如何部署它。对于生产来说,两者都具有多个实例的弹性。

由于这些处理组件不是 Web 应用程序(即它们不响应 http 请求),因此我必须显式启动它们。对于 Python 示例,我使用 .ebextensions 文件:

container_commands:
02-start-command:
command: "nohup python scannerapp.py > foo.out 2> foo.err < /dev/null &"
leader_only: false

如何对 .NET 应用程序执行同样的操作?与上面的 Python/Linux 示例一样,Windows 配置文件支持“命令”和“容器命令”,但这些命令适用于启动程序(例如安装程序)。 IE。在命令退出之前启动/安装不会完成。 nohup 命令解决了 Python 的问题。如何使用 .NET Worker 应用程序执行此操作?

还是太难了,我应该考虑首先移植到 MONO 并使用 Linux 选项之一? (MONO运行成本预计会更加划算,因此已经列入 future 的待办事项 list 中)

最佳答案

您可以使用 .NET 容器执行相同的操作。您必须将工作程序安装为 Windows 服务。看看这个blog post ,其中详细解释了这一点。在较高级别上,您将拥有一个 .ebextensions 文件,其中包含:

sources:
c:/AppSupport/MyAppJanitor: http://s3.amazonaws.com/my-app-support/MyAppJanitor.zip
commands:
install-janitor:
command: C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\installutil MyAppJanitor.exe
cwd: c:/AppSupport/MyAppJanitor
waitForCompletion:0
services:
windows:
MyAppJanitor:
enabled: true
ensureRunning: true
commands: install-janitor

关于.net - 使用 Elastic Beanstalk 部署 .NET 工作线程应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19500247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com