自动启动多个新贵实例

     2023-02-16     229

关键词:

【中文标题】自动启动多个新贵实例【英文标题】:Starting multiple upstart instances automatically 【发布时间】:2012-01-30 16:54:35 【问题描述】:

我们使用 PHP gearman workers 并行运行各种任务。一切都很好,我有愚蠢的小 shell 脚本可以在我想要它们的时候启动它们。作为一名程序员(因此很懒惰),我想看看我是否可以通过新贵脚本来启动这些。

我想出了如何使用实例节,所以我可以用实例号开始它们:

description "Async insert workers"
author      "Mike Grunder"

env SCRIPT_PATH="/path/to/my/script"

instance $N

script
    php $SCRIPT_PATH/worker.php
end script

这很好用,像这样启动它们:

sudo start async-worker N=1
sudo start async-worker N=2

我想使用这些工人的方式是启动一些工人(可能每个核心一个,等等),我想在启动时这样做。需要明确的是,我不需要 upstart 脚本来检测内核数量。我很高兴只说“做 8 个实例”,但这就是我想要多次运行的原因。有没有办法让我在 upstart 脚本中使用“start on”子句来自动执行此操作?

例如,启动实例 1、2、3、4?然后让它们在关机时正常退出?

我想我可以将它挂接到 init.d 脚本中,但我想知道 upstart 是否可以处理这样的事情,或者是否有人发现了这个问题。

干杯!

【问题讨论】:

【参考方案1】:

您需要的是一个引导任务,它在启动时运行并遍历所有工作作业,开始每个作业。

#/etc/init/async-workers-all.conf

start on runlevel [2345]

task

env NUM_WORKERS=8

script
  for i in `seq 1 $NUM_WORKERS`
  do
    start async-worker N=$i
  done
end script

关键是让它成为一个task,它告诉upstart让任务运行到完成,然后再为它发出任何事件。见http://upstart.ubuntu.com/cookbook/#task和http://upstart.ubuntu.com/cookbook/#instance

【讨论】:

非常感谢!我试图以类似的方式解决它,但我错过了task 位,所以循环的第一次迭代只会阻塞。惊人的。 :) 您还应该查看***.com/questions/12084025/…,它不仅可以启动多个实例,还可以停止它们。 我已经阅读了文档,但我仍然不明白,为什么除非它是一项任务,否则循环会在第一次迭代中阻塞? /cc @mkgrunder

为啥 AWS Auto Scaling 在扩展期间会启动多个实例?

...:19【问题描述】:我正在尝试设置一个基于平均组CPU负载自动扩展的AWSAutoScaling组(ASG)。我有一个扩展策略,一旦平均CPU使用 查看详情

三分钟了解elastic-job-lite

...分成多个分片,在多个实例上执行了。增加新分片,可以自动重新分配分片;节点故障,可以自动failover。(1)多个实例(每个客户端启动一次,认为是一个实例,以“192.168.72.18@-@21668”格式标识)启动后,首先选主,主可以执... 查看详情

oracle多个实例需要配置多个监听么

参考技术A监听上不用任何设置,pmon每2分钟都会检查一下实例,会自动注册service到监听的,除非你数据库没有正常启动。我觉得你就属于后一种情况,另外两个实例重启后没正常启动 查看详情

python脚本的守护进程与新贵

...:53:13【问题描述】:我用Python编写了一个模块,希望它在启动后连续运行,当我需要更新其他模块时需要停止它。如果模块已崩溃或未运行,我可能会使用monit重新启动它。我正在使用不同的技术,例如Daemon、Upstart和许多其他技... 查看详情

具有自动缩放组的多个模板文件和使用 Terraform 的启动配置

】具有自动缩放组的多个模板文件和使用Terraform的启动配置【英文标题】:MultipletemplatefileswithautoscalinggroupsandlaunchconfigurationswithTerraform【发布时间】:2021-09-1316:15:49【问题描述】:我有3个自动缩放组,它们都使用略有不同的模... 查看详情

运行 debian:packageBin 时包含新贵脚本

...】:我想在ubuntu机器上将我的scala应用程序作为后台服务启动。我目前正在尝试弄清楚如何在我的包任务中使用JavaServerAppPackagingSettings。任何建议,我必须添加什么来在我的deb文 查看详情

启动多个mysql实例(代码片段)

如果使用./support-files/mysql.server文件启动,则默认读取/etc/my.cnf配置文件,这种方式有时候启动不了报错:TheserverquitwithoutupdatingPIDfile所以我们使用启动命令mysqld_safe启动,多个实例只是重复下面的过程,更换目录和端口即可,当... 查看详情

Apache Spark 启动多个 SparkContext 实例

】ApacheSpark启动多个SparkContext实例【英文标题】:ApacheSparkStartmultipleSparkContextinstances【发布时间】:2015-04-3013:25:41【问题描述】:我想知道如何在同一个应用程序中创建多个SparkContext实例。现在,弹出以下消息:org.apache.spark.Spark... 查看详情

springboot项目启动多个实例的方法(代码片段)

我现在需要实现这样的功能:将一个服务提供者启动多个实例,下面我列出在eclipse中启动多个实例的方法: 首先看一下我的服务提供者的项目文件结构:springboot默认的配置文件是application.properties,注意看我为了实现启动多... 查看详情

在 Mac 中启动多个应用程序实例

】在Mac中启动多个应用程序实例【英文标题】:LaunchmultipleinstancesofapplicationinMac【发布时间】:2017-11-1712:21:43【问题描述】:我尝试在Info.plist中使用LSMultipleInstancesProhibited=FALSE,但它正在打开一个实例,我需要从Mac上的一个安装... 查看详情

单机上启动多个elasticsearch实例

使用elasticsearch的默认配置的话,一台机器上只能启动一个elasticsearch实例,下面是配置多实例的过程。1.环境介绍操作系统:centos7elasticsearch版本:5.6.1启动实例个数:2个elasticsearch安装方式:使用官方yum源,yum安装。2.elasticsearch... 查看详情

如何在idea启动多个springboot工程实例

...的钩去掉。step3通过修改application文件的server.port的端口,启动。多个实例,需要多个端口,分别启动。本回答被提问者采纳 查看详情

springboot一个项目启动多个实例(代码片段)

0、前言  在开发中,我们经常需要以不同端口启动同一个项目的多个实例,IDEA中启动多个实例很简单1、方法  1.1、在项目中,选择编辑配置,然后点选允许并行运行,如下图:     1.2、调出RunDashboard面板方便... 查看详情

Scrapy - 如何启动同一个蜘蛛进程的多个实例?

】Scrapy-如何启动同一个蜘蛛进程的多个实例?【英文标题】:Scrapy-Howtoinitiatemultipleinstancesofsamespiderprocess?【发布时间】:2016-02-1421:47:22【问题描述】:我在启动同一个蜘蛛的多个实例时卡住了。我想像1个蜘蛛实例的1个url一样运... 查看详情

如何在 Mac 上启动多个 MonoDevelop 实例?

】如何在Mac上启动多个MonoDevelop实例?【英文标题】:HowcanIlaunchmultipleinstancesofMonoDevelopontheMac?【发布时间】:2010-12-0611:35:46【问题描述】:我想在Mac上打开一个新的MonoDevelop实例来处理不同的项目,但操作系统当前阻止我打开一... 查看详情

启动 Amazon EC2 实例时如何自动启动 Web 服务?

】启动AmazonEC2实例时如何自动启动Web服务?【英文标题】:HowtoautostartwebserviceswhenstartinganAmazonEC2instance?【发布时间】:2011-07-1519:51:54【问题描述】:如何将httpd和mysqld服务设置为在启动amazon-ec2实例时自动启动?目前我必须通过ssh... 查看详情

Mac 应用程序包能够启动多个实例

】Mac应用程序包能够启动多个实例【英文标题】:Macapplicationbundleabletolaunchmultipleinstances【发布时间】:2015-02-1609:05:08【问题描述】:问题:如何创建一个可以默认打开多个实例的Mac应用程序?通常,Mac应用程序包维护一个Mac程... 查看详情

自动关闭和启动 Amazon EC2 实例

】自动关闭和启动AmazonEC2实例【英文标题】:AutoShutdownandStartAmazonEC2Instance【发布时间】:2011-01-2515:54:16【问题描述】:我可以使用AmazonAPI自动启动和终止我的Amazon实例吗?你能描述一下如何做到这一点吗?理想情况下,我需要... 查看详情