Rundeck 多个作业执行,排队或丢弃?
Rundeck multiple job executions, queued or discarded?
用于创建工作的 Rundeck 文档,
https://docs.rundeck.com/docs/manual/creating-jobs.html#creating-a-job
说:
多次执行
默认情况下,作业作为“单次执行”运行——它一次只能执行一次 运行。如果作业执行的步骤可能会受到干扰(如果另一个单独的进程也在同一节点上执行它们),这将很有用。
但是,在某些情况下,允许同时执行多个作业很有用。
您可以通过在如下所示的“作业编辑器”字段中将值切换为“是”来使作业允许“多次执行”:
我的问题:
对于默认的“单一执行”模式,后续同时运行的作业会怎样?他们是被丢弃还是排队?
对于“多次执行”模式,后续同时运行的作业超过“多次执行的最大数量”会怎样?他们是被丢弃还是排队?
感谢您的指导。
您可以使用如下简单的作业定义进行测试:
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>72fe54d5-26da-4cd4-a487-0955bd3b7f67</id>
<loglevel>INFO</loglevel>
<name>HelloWorld</name>
<nodeFilterEditable>false</nodeFilterEditable>
<plugins />
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 15; echo "hello"</exec>
</command>
</sequence>
<uuid>72fe54d5-26da-4cd4-a487-0955bd3b7f67</uuid>
</job>
</joblist>
如果再次执行该作业,您会看到 this 错误。
因此,如果您 modify the job to allowing "two multiple execution" you can see 可以正常工作并执行同一作业的 2 次:
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>72fe54d5-26da-4cd4-a487-0955bd3b7f67</id>
<loglevel>INFO</loglevel>
<maxMultipleExecutions>2</maxMultipleExecutions>
<multipleExecutions>true</multipleExecutions>
<name>HelloWorld</name>
<nodeFilterEditable>false</nodeFilterEditable>
<plugins />
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 15; echo "hello"</exec>
</command>
</sequence>
<uuid>72fe54d5-26da-4cd4-a487-0955bd3b7f67</uuid>
</job>
</joblist>
但是如果你执行同一个作业三次,你会看到第一个场景的same错误。
简答:如果超过默认值或定义值,将放弃执行。
用于创建工作的 Rundeck 文档,
https://docs.rundeck.com/docs/manual/creating-jobs.html#creating-a-job
说:
多次执行 默认情况下,作业作为“单次执行”运行——它一次只能执行一次 运行。如果作业执行的步骤可能会受到干扰(如果另一个单独的进程也在同一节点上执行它们),这将很有用。
但是,在某些情况下,允许同时执行多个作业很有用。
您可以通过在如下所示的“作业编辑器”字段中将值切换为“是”来使作业允许“多次执行”:
我的问题:
对于默认的“单一执行”模式,后续同时运行的作业会怎样?他们是被丢弃还是排队?
对于“多次执行”模式,后续同时运行的作业超过“多次执行的最大数量”会怎样?他们是被丢弃还是排队?
感谢您的指导。
您可以使用如下简单的作业定义进行测试:
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>72fe54d5-26da-4cd4-a487-0955bd3b7f67</id>
<loglevel>INFO</loglevel>
<name>HelloWorld</name>
<nodeFilterEditable>false</nodeFilterEditable>
<plugins />
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 15; echo "hello"</exec>
</command>
</sequence>
<uuid>72fe54d5-26da-4cd4-a487-0955bd3b7f67</uuid>
</job>
</joblist>
如果再次执行该作业,您会看到 this 错误。
因此,如果您 modify the job to allowing "two multiple execution" you can see 可以正常工作并执行同一作业的 2 次:
<joblist>
<job>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>72fe54d5-26da-4cd4-a487-0955bd3b7f67</id>
<loglevel>INFO</loglevel>
<maxMultipleExecutions>2</maxMultipleExecutions>
<multipleExecutions>true</multipleExecutions>
<name>HelloWorld</name>
<nodeFilterEditable>false</nodeFilterEditable>
<plugins />
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>sleep 15; echo "hello"</exec>
</command>
</sequence>
<uuid>72fe54d5-26da-4cd4-a487-0955bd3b7f67</uuid>
</job>
</joblist>
但是如果你执行同一个作业三次,你会看到第一个场景的same错误。
简答:如果超过默认值或定义值,将放弃执行。