Util/KeepAlive.psm1
|
using module '../Common/Result' Import-Module -Name @(Join-Path $PSScriptRoot .. | Join-Path -ChildPath Util | Join-Path -ChildPath Util) function Start-RMKeepAlive { param ( [bool]$Forever = $true ) try { $SleepInterval = 10 $LoginStatus = Test-UserLoggedIn if ($LoginStatus.ReturnCode -eq [RMReturn]::ERROR) { return $LoginStatus } [RMReturn] $RMReturn = [RMReturn]::new() $Uri = Get-Variable -Name "RMContext-ReactorURI" -ValueOnly $RMLoginResult = Get-Variable -Name "RMContext-UserLogin" -ValueOnly $Headers = @{ Cookie = $RMLoginResult } $Params = @{ Method = "Post" Uri = $Uri + "/users/keep-alive" Headers = $Headers } do { Invoke-RMRestMethod -Params $Params Write-Output "Session is alive" | Out-Host Start-Sleep -Duration (New-TimeSpan -Minutes $SleepInterval) } while ($Forever) $RMReturn.SetReturnCode([RMReturn]::SUCCESS) return $RMReturn } catch { Show-RMError -ErrorObj $PSItem return Build-RMError -ErrorObj $PSItem } } |