lock mechanism improvements #141

Merged
OpzekerIT merged 2 commits from dev into main 2023-11-22 21:14:50 +00:00
Showing only changes of commit c8df97068c - Show all commits

View file

@ -5,39 +5,42 @@ function new-lock {
[string]
$by
)
Write-Output 'Setting lock'
$lock = $true
$timeout = 15
$i = 0
while ($lock) {
while ($true) {
if ($env:temp) {
$lockFile = Join-Path -Path $env:temp -ChildPath 'lockfile_pubg.lock'
}
else {
$lockFile = "/tmp/lockfile_pubg.lock"
}
if (Test-Path -Path $lockFile) {
Write-Host "Job is already running. Sleeping 10 seconds"
Start-Sleep -Seconds 10
Write-Host "Job is already running. Lock file found at $lockFile. Sleeping 15 seconds."
Start-Sleep -Seconds 15
}
else {
try {
$content = if ($by) { $by } else { "" }
New-Item -ItemType File -Path $lockFile -Value $content
$lock = $false
New-Item -ItemType File -Path $lockFile -Value $content -Force
Write-Host "Lock file created at $lockFile."
break
}
catch {
Write-Output "Unable to create lockfile , resuming lock loop"
$lock = $true
Write-Output "Unable to create lockfile, error: $_. Resuming lock loop."
}
}
if ($i -ge $timeout) {
Write-Output "Timed out"
Write-Output "Timed out after $timeout attempts."
exit
}
$i++
}
}
function remove-lock {
Write-Output 'Removing lock'
if ($env:temp) {