通过 MP Author 将 IntervalSeconds 元素添加到基于脚本的监视器
Add IntervalSeconds Element to Script Based Monitor via MP Author
我使用 Silect MP Author 创建了一个基于 Powershell 脚本的监视器,这样我就可以安排它们的运行时间(例如每天 – 周日 – 周四)。
问题是,
我还需要可用性来调整间隔时间(例如每 30 秒)。
由于某种原因,这不是在 MP Author Wizard 中合并的有效选项。
您只能从以下 3 个选项中进行选择:
1. None
2. 每日
3.定期
如果选择每日选项,有人知道配置的间隔时间是多少吗?
此外,
在检查 MP Author 创建的 XML 文件时,
我可以看到在选择每日选项时,已创建以下元素:
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
<OverrideableParameter ID="DaysOfWeekMask" Selector="$Config/DaysOfWeekMask$" ParameterType="int" />
<OverrideableParameter ID="StartTime" Selector="$Config/StartTime$" ParameterType="string" />
<OverrideableParameter ID="EndTime" Selector="$Config/EndTime$" ParameterType="string" />
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.Scheduler">
<Scheduler>
<WeeklySchedule>
<Windows>
<Daily>
<Start>$Config/StartTime$</Start>
<End>$Config/EndTime$</End>
<DaysOfWeekMask>$Config/DaysOfWeekMask$</DaysOfWeekMask>
</Daily>
</Windows>
</WeeklySchedule>
<ExcludeDates />
</Scheduler>
</DataSource>
我可以只添加新元素吗(对于和标签):
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:integer" name="IntervalSeconds" />
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:integer" name="DaysOfWeekMask" />
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
并且在标记中为 IntervalSeconds 值换行?:
作为硬编码值
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
或者作为 Varibel?
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
</SimpleReccuringSchedule>
根据 MS 文档,PublicSchedulerType,在您的方案中没有可配置的参数来设置间隔。根据架构定义,SimpleReccuringSchedule
与 WeeklySchedule
互斥。最重要的是,MS没有提供例子,其中Start和End参数不同,他们建议使用它来进行一次火灾。
当然,您可以添加一个新参数并使其可覆盖,但是您没有地方可以使用它,所以这不会有任何区别。
要处理这个问题,您可以:
- 使用
SimpleReccuringSchedule
调度,或 SimpleScheduler 作为基础。在此处配置您的间隔。
- 将 System.SchedulerFilter 条件检测模块添加到您的数据源以允许基本调度程序仅在配置 windows。
我使用 Silect MP Author 创建了一个基于 Powershell 脚本的监视器,这样我就可以安排它们的运行时间(例如每天 – 周日 – 周四)。 问题是, 我还需要可用性来调整间隔时间(例如每 30 秒)。 由于某种原因,这不是在 MP Author Wizard 中合并的有效选项。 您只能从以下 3 个选项中进行选择: 1. None 2. 每日 3.定期 如果选择每日选项,有人知道配置的间隔时间是多少吗? 此外, 在检查 MP Author 创建的 XML 文件时, 我可以看到在选择每日选项时,已创建以下元素:
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
<OverrideableParameter ID="DaysOfWeekMask" Selector="$Config/DaysOfWeekMask$" ParameterType="int" />
<OverrideableParameter ID="StartTime" Selector="$Config/StartTime$" ParameterType="string" />
<OverrideableParameter ID="EndTime" Selector="$Config/EndTime$" ParameterType="string" />
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.Scheduler">
<Scheduler>
<WeeklySchedule>
<Windows>
<Daily>
<Start>$Config/StartTime$</Start>
<End>$Config/EndTime$</End>
<DaysOfWeekMask>$Config/DaysOfWeekMask$</DaysOfWeekMask>
</Daily>
</Windows>
</WeeklySchedule>
<ExcludeDates />
</Scheduler>
</DataSource>
我可以只添加新元素吗(对于和标签):
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:integer" name="IntervalSeconds" />
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:integer" name="DaysOfWeekMask" />
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
并且在标记中为 IntervalSeconds 值换行?:
作为硬编码值
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
或者作为 Varibel?
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
</SimpleReccuringSchedule>
根据 MS 文档,PublicSchedulerType,在您的方案中没有可配置的参数来设置间隔。根据架构定义,SimpleReccuringSchedule
与 WeeklySchedule
互斥。最重要的是,MS没有提供例子,其中Start和End参数不同,他们建议使用它来进行一次火灾。
当然,您可以添加一个新参数并使其可覆盖,但是您没有地方可以使用它,所以这不会有任何区别。
要处理这个问题,您可以:
- 使用
SimpleReccuringSchedule
调度,或 SimpleScheduler 作为基础。在此处配置您的间隔。 - 将 System.SchedulerFilter 条件检测模块添加到您的数据源以允许基本调度程序仅在配置 windows。