Skip to content

Commit 8d789eb

Browse files
committed
Durable cleanup tweak
Audit log tweak
1 parent c09e55e commit 8d789eb

3 files changed

Lines changed: 17 additions & 6 deletions

File tree

Modules/CIPPCore/Public/AuditLogs/Get-CippAuditLogSearches.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ function Get-CippAuditLogSearches {
1717
if ($ReadyToProcess.IsPresent) {
1818
$AuditLogSearchesTable = Get-CippTable -TableName 'AuditLogSearches'
1919
$15MinutesAgo = (Get-Date).AddMinutes(-15).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
20-
$PendingQueries = Get-CIPPAzDataTableEntity @AuditLogSearchesTable -Filter "Tenant eq '$TenantFilter' and (CippStatus eq 'Pending' or (CippStatus eq 'Processing' and Timestamp le datetime'$15MinutesAgo'))" | Sort-Object Timestamp
20+
$1DayAgo = (Get-Date).AddDays(-1).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
21+
$PendingQueries = Get-CIPPAzDataTableEntity @AuditLogSearchesTable -Filter "Tenant eq '$TenantFilter' and (CippStatus eq 'Pending' or (CippStatus eq 'Processing' and Timestamp le datetime'$15MinutesAgo')) and Timestamp ge datetime'$1DayAgo'" | Sort-Object Timestamp
2122

2223
$BulkRequests = foreach ($PendingQuery in $PendingQueries) {
2324
@{

Modules/CIPPCore/Public/Entrypoints/Timer Functions/Start-DurableCleanup.ps1

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ function Start-DurableCleanup {
1717
param(
1818
[int]$MaxDuration = 3600
1919
)
20+
2021
$WarningPreference = 'SilentlyContinue'
2122
$StorageContext = New-AzStorageContext -ConnectionString $env:AzureWebJobsStorage
2223
$TargetTime = (Get-Date).ToUniversalTime().AddSeconds(-$MaxDuration)
@@ -30,15 +31,14 @@ function Start-DurableCleanup {
3031
$ClearQueues = $false
3132
$FunctionName = $Table.TableName -replace 'Instances', ''
3233
$Orchestrators = Get-CIPPAzDataTableEntity @Table -Filter "RuntimeStatus eq 'Running'" | Select-Object * -ExcludeProperty Input
33-
$Orchestrators | Where-Object { $_.CreatedTime.DateTime -lt $TargetTime } | ForEach-Object {
34-
$CreatedTime = [DateTime]::SpecifyKind($_.CreatedTime.DateTime, [DateTimeKind]::Utc)
34+
$LongRunningOrchestrators = $Orchestrators | Where-Object { $_.CreatedTime.DateTime -lt $TargetTime }
35+
foreach ($Orchestrator in $LongRunningOrchestrators) {
36+
$CreatedTime = [DateTime]::SpecifyKind($Orchestrator.CreatedTime.DateTime, [DateTimeKind]::Utc)
3537
$TimeSpan = New-TimeSpan -Start $CreatedTime -End (Get-Date).ToUniversalTime()
3638
$RunningDuration = [math]::Round($TimeSpan.TotalMinutes, 2)
37-
Write-Information "Orchestrator: $($_.PartitionKey), created: $CreatedTime, running for: $RunningDuration minutes"
39+
Write-Information "Orchestrator: $($Orchestrator.PartitionKey), created: $CreatedTime, running for: $RunningDuration minutes"
3840
$ClearQueues = $true
39-
$_.RuntimeStatus = 'Failed'
4041
if ($PSCmdlet.ShouldProcess($_.PartitionKey, 'Terminate Orchestrator')) {
41-
$Orchestrator = Get-CIPPAzDataTableEntity @Table -PartitionKey $_.PartitionKey -RowKey $_.RowKey
4242
$Orchestrator.RuntimeStatus = 'Failed'
4343
Update-AzDataTableEntity @Table -Entity $Orchestrator
4444
$CleanupCount++

Modules/CippEntrypoints/CippEntrypoints.psm1

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,9 @@ function Receive-CIPPTimerTrigger {
220220
}
221221
}
222222
try {
223+
if ($FunctionStatus.PSObject.Properties.Name -contains 'ErrorMsg') {
224+
$FunctionStatus.ErrorMsg = ''
225+
}
223226
$Results = Invoke-Command -ScriptBlock { & $Function.Command }
224227
if ($Results -match '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$') {
225228
$FunctionStatus.OrchestratorId = $Results
@@ -229,10 +232,17 @@ function Receive-CIPPTimerTrigger {
229232
}
230233
} catch {
231234
$Status = 'Failed'
235+
$ErrorMsg = $_.Exception.Message
236+
if ($FunctionStatus.PSObject.Properties.Name -contains 'ErrorMsg') {
237+
$FunctionStatus.ErrorMsg = $ErrorMsg
238+
} else {
239+
$FunctionStatus | Add-Member -MemberType NoteProperty -Name ErrorMsg -Value $ErrorMsg
240+
}
232241
Write-Information "Error in CIPPTimer for $($Function.Command): $($_.Exception.Message)"
233242
}
234243
$FunctionStatus.LastOccurrence = $UtcNow
235244
$FunctionStatus.Status = $Status
245+
236246
Add-CIPPAzDataTableEntity @Table -Entity $FunctionStatus -Force
237247
}
238248
}

0 commit comments

Comments
 (0)