start
This commit is contained in:
71
setup-windows-task.ps1
Normal file
71
setup-windows-task.ps1
Normal file
@@ -0,0 +1,71 @@
|
||||
# ============================================================================
|
||||
# Troostwijk Auction Monitor - Windows Task Scheduler Setup
|
||||
# ============================================================================
|
||||
#
|
||||
# This PowerShell script creates scheduled tasks in Windows Task Scheduler
|
||||
# to run the auction monitor automatically.
|
||||
#
|
||||
# Usage:
|
||||
# Run PowerShell as Administrator, then:
|
||||
# .\setup-windows-task.ps1
|
||||
#
|
||||
# ============================================================================
|
||||
|
||||
Write-Host "=== Troostwijk Auction Monitor - Task Scheduler Setup ===" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Configuration
|
||||
$scriptPath = $PSScriptRoot
|
||||
$jarPath = Join-Path $scriptPath "target\troostwijk-scraper-1.0-SNAPSHOT-jar-with-dependencies.jar"
|
||||
$javaExe = "java"
|
||||
|
||||
# Check if JAR exists
|
||||
if (-not (Test-Path $jarPath)) {
|
||||
Write-Host "ERROR: JAR file not found at: $jarPath" -ForegroundColor Red
|
||||
Write-Host "Please run 'mvn clean package' first." -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Creating scheduled tasks..." -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# Task 1: Complete Workflow - Every 30 minutes
|
||||
$task1Name = "TroostwijkMonitor-Workflow"
|
||||
$task1Description = "Runs complete auction monitoring workflow every 30 minutes"
|
||||
$task1Action = New-ScheduledTaskAction -Execute $javaExe -Argument "-jar `"$jarPath`" once" -WorkingDirectory $scriptPath
|
||||
$task1Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 30) -RepetitionDuration ([TimeSpan]::MaxValue)
|
||||
$task1Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
|
||||
|
||||
try {
|
||||
Register-ScheduledTask -TaskName $task1Name -Action $task1Action -Trigger $task1Trigger -Settings $task1Settings -Description $task1Description -Force
|
||||
Write-Host "[✓] Created task: $task1Name (every 30 min)" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host "[✗] Failed to create task: $task1Name" -ForegroundColor Red
|
||||
Write-Host " Error: $_" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
# Task 2: Status Check - Every 6 hours
|
||||
$task2Name = "TroostwijkMonitor-StatusCheck"
|
||||
$task2Description = "Checks auction monitoring status every 6 hours"
|
||||
$task2Action = New-ScheduledTaskAction -Execute $javaExe -Argument "-jar `"$jarPath`" status" -WorkingDirectory $scriptPath
|
||||
$task2Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Hours 6) -RepetitionDuration ([TimeSpan]::MaxValue)
|
||||
$task2Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
|
||||
|
||||
try {
|
||||
Register-ScheduledTask -TaskName $task2Name -Action $task2Action -Trigger $task2Trigger -Settings $task2Settings -Description $task2Description -Force
|
||||
Write-Host "[✓] Created task: $task2Name (every 6 hours)" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host "[✗] Failed to create task: $task2Name" -ForegroundColor Red
|
||||
Write-Host " Error: $_" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "=== Setup Complete ===" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "Created tasks:" -ForegroundColor White
|
||||
Write-Host " 1. $task1Name - Runs every 30 minutes" -ForegroundColor Gray
|
||||
Write-Host " 2. $task2Name - Runs every 6 hours" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
Write-Host "To view tasks: Open Task Scheduler and look for 'TroostwijkMonitor-*'" -ForegroundColor Yellow
|
||||
Write-Host "To remove tasks: Run 'Unregister-ScheduledTask -TaskName TroostwijkMonitor-*'" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Reference in New Issue
Block a user