如果我理解正确的话,Upstart 会运行所有准备并行运行的任务。
但是,有没有办法限制并行化的数量?也就是说,运行的并行任务的数量应该受到某个常数的限制。
例如,make
允许您使用该选项并行运行所有任务-j
。如果您想限制并行作业的数量,可以向其传递一个数字。因此,-j 2
意味着并行运行作业,但一次最多不超过两个。
我正在寻找新贵中的等效设置。
编辑 我刚刚意识到我的问题很愚蠢。如果作业是永不停止的守护进程,那么 Upstart 就无法确定它们已完成。相反,我需要的是一种通过磁盘 I/O 进行限制的方法。也就是说,当磁盘 I/O 很高时,upstart 不应该产生新的作业。它应该只在磁盘活动冷却后产生。
答案1
你看过 upstarts 文档吗?我强烈建议你浏览一下。可以在这里。
一种简单的方法可能是在每次启动之间延迟一段时间,或者使用启动后脚本来延迟,直到您的服务启动后再启动下一个实例?查看一些示例以了解如何处理它。例如。6.22
6.14.2
++
http://upstart.ubuntu.com/cookbook/您还可以扩展该脚本来满足您的需要吗?