我想在Rundeck创建一个计划作业。 Rundeck Job运行脚本,该脚本为我列表中的单个用户做一些工作。
因此,作业具有输入参数-用户名。我需要为列表中的所有用户运行该作业,但无需在一个作业执行中对其进行处理。我需要为每个用户执行单独的作业。
public static float[] UseFunc(float[] input, float[] input2, Func<float, float, float> func)
{
float[] temp = (float[]) input.Clone();
for (int i = 0; i < input.Length; i++)
{
temp[i] = func(input[i], input2[i]);
}
return temp;
}
反正有这样做吗?
答案 0 :(得分:1)
您可以设计一个带有列表选项的工作流以用于任何步骤(例如命令,内联脚本或脚本),我为一个带有列表选项(用户)的示例和内联脚本的示例做了一个操作用户,作业已排定。
<joblist>
<job>
<context>
<options preserveOrder='true'>
<option name='users' required='true' value='alice,bob,charlie,david' />
</options>
</context>
<defaultTab>nodes</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>e62a25a0-b67c-4bb7-8721-c96b7e4cb9f5</id>
<loglevel>INFO</loglevel>
<name>JobEXAMPLE</name>
<nodeFilterEditable>false</nodeFilterEditable>
<plugins />
<schedule>
<month month='*' />
<time hour='12' minute='0' seconds='0' />
<weekday day='*' />
<year year='*' />
</schedule>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<fileExtension>.sh</fileExtension>
<script><![CDATA[#!/bin/bash
myusers=@option.users@
Field_Separator=$IFS
# set comma as the internal field separator for the string list
IFS=,
for value in $myusers;
do
echo "action for $value"
done
IFS=$Field_Separator]]></script>
<scriptargs />
<scriptinterpreter>/bin/bash</scriptinterpreter>
</command>
</sequence>
<uuid>e62a25a0-b67c-4bb7-8721-c96b7e4cb9f5</uuid>
</job>
</joblist>
Here结果。
也许this使您感兴趣。另外,data values在这种情况下也可以工作。