Skip to content

Commit d53b64e

Browse files
committed
Fixes ScheduledTask plugin throwing exception on empty runtimes
1 parent 8ae7523 commit d53b64e

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

plugins/Invoke-IcingaCheckScheduledTask.psm1

+14-2
Original file line numberDiff line numberDiff line change
@@ -141,17 +141,29 @@ function Invoke-IcingaCheckScheduledTask()
141141
-MetricIndex $MetricIndex `
142142
-MetricName 'lasttaskresult';
143143

144+
[string]$TaskLastRunTimeDate = $task.LastRunTime;
145+
146+
if ([string]::IsNullOrEmpty($TaskLastRunTimeDate)) {
147+
$TaskLastRunTimeDate = 'Never';
148+
}
149+
144150
$TaskLastRunTime = New-IcingaCheck `
145-
-Name ([string]::Format('Last Run Time [{0}]', $task.LastRunTime)) `
151+
-Name ([string]::Format('Last Run Time [{0}]', $TaskLastRunTimeDate)) `
146152
-LabelName (Format-IcingaPerfDataLabel ([string]::Format('{0} ({1}) LastRunTime', $task.TaskName, $task.TaskPath))) `
147153
-Value (Get-IcingaUnixTimeOffsetNow -TimeString $task.LastRunTime) `
148154
-Unit 's' `
149155
-Translation @{ 0 = 'Never'; } `
150156
-MetricIndex $MetricIndex `
151157
-MetricName 'lastruntime';
152158

159+
[string]$TaskNextRunTimeDate = $task.NextRunTime;
160+
161+
if ([string]::IsNullOrEmpty($TaskNextRunTimeDate)) {
162+
$TaskNextRunTimeDate = 'Never';
163+
}
164+
153165
$TaskNextRunTime = New-IcingaCheck `
154-
-Name ([string]::Format('Next Run Time [{0}]', $task.NextRunTime)) `
166+
-Name ([string]::Format('Next Run Time [{0}]', $TaskNextRunTimeDate)) `
155167
-LabelName (Format-IcingaPerfDataLabel ([string]::Format('{0} ({1}) NextRunTime', $task.TaskName, $task.TaskPath))) `
156168
-Value (Get-IcingaUnixTimeOffsetNow -TimeString $task.NextRunTime) `
157169
-Unit 's' `

0 commit comments

Comments
 (0)