我一直在寻找在云原生应用程序中设置工作节点的时间。我计划让一组自动缩放的工作节点从队列中拉出作业,这没什么特别的。
我只是想知道,是否有任何最佳实践方法可以确保(例如 ruby)脚本始终运行?我目前的假设是,您正在运行一个脚本,该脚本会轮询队列中的作业并在作业查询没有返回新作业时休眠几秒钟左右。
真正引起我注意的是 AWS Elastic Beanstalk 文档的 Linux 自定义配置部分中的 Services 键。
00_start_service.config
services:
sysvinit:
<name of service>:
enabled: true
ensureRunning: true
files: "<file name>"
sources: "<directory>"
packages:
<name of package manager>:
<package name>: <version>
commands:
<name of command>:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
他们给出的例子是这样的..
services:
sysvinit:
myservice:
enabled: true
ensureRunning: true
我发现示例和文档非常模糊,我不知道如何使用此配置键启动和运行我自己的服务,这意味着我什至不知道这是否是我想要或需要使用的。我尝试创建一个 ruby 可执行文件并将名称放在该字段中,但没有运气。
我向 AWS 论坛询问了更多说明,但没有收到任何回复。
如果有人对如何实现这一目标有任何见解或方向,我将不胜感激。谢谢!