首页 > 解决方案 > 是否有任何选项可以通过 rundeck 本身杀死在远程机器上运行更长时间的作业?

问题描述

当作业在远程机器上运行超过 2 小时时,我需要自行终止 rundeck 作业,是否有可能

标签: remote-serverkill-processrundeck

解决方案


您可以在“超时”文本框中设置超时值(创建或编辑作业时,转到“其他”选项卡并查看该选项,选中此项。您可以使用以秒(如 10 秒)、分钟(如 5m)为单位的值,小时(如 2h)或天(如 2d),您也可以传递使用该值定义的选项。

我留下一个工作定义示例来测试:

<joblist>
  <job>
    <context>
      <options preserveOrder='true'>
        <option name='timeout' value='5s' />
      </options>
    </context>
    <defaultTab>nodes</defaultTab>
    <description></description>
    <dispatch>
      <excludePrecedence>true</excludePrecedence>
      <keepgoing>false</keepgoing>
      <rankOrder>ascending</rankOrder>
      <successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
      <threadcount>1</threadcount>
    </dispatch>
    <executionEnabled>true</executionEnabled>
    <id>13ba3f6b-f921-4ab5-95ba-56eb335eed4b</id>
    <loglevel>INFO</loglevel>
    <name>HugeDelay</name>
    <nodeFilterEditable>false</nodeFilterEditable>
    <nodefilters>
      <filter>name: node01</filter>
    </nodefilters>
    <nodesSelectedByDefault>true</nodesSelectedByDefault>
    <plugins />
    <schedule>
      <month month='*' />
      <time hour='13' minute='19' seconds='0' />
      <weekday day='*' />
      <year year='*' />
    </schedule>
    <scheduleEnabled>true</scheduleEnabled>
    <sequence keepgoing='false' strategy='node-first'>
      <command>
        <exec>sleep 30; echo "hi"</exec>
      </command>
    </sequence>
    <timeout>${option.timeout}</timeout>
    <uuid>13ba3f6b-f921-4ab5-95ba-56eb335eed4b</uuid>
  </job>
</joblist>

推荐阅读