Operate the API and Scheduler

Check connectivity, inspect active work and verify deliberate scheduler controls.

Check the ATRS API and scheduler, inspect current work and confirm that the server is ready to run reports.

Before you begin

Complete Authentication and Token Management. The PowerShell examples use $AtrsBaseUrl and $AtrsHeaders from that guide. Run the steps in order in the same PowerShell session. Use your installation’s address and identifiers in place of the examples.

Use administrative credentials with the required permissions. Confirm which server you are addressing before starting or stopping its scheduler.

Operations at a glance

QuestionOperationResponse
Is the API reachable?PingNumber 1; no token required.
Is the scheduler running?IsSchedulerRunningBoolean.
What is in the API queue?GetExecutionQueueQueue records.
What work is currently running?GetCurrentlyExecutingProcess-monitor records.
What schedules are due?AllDueDue Today — All view.
What capacity is available?GetNumberOfFreeThreadsObject containing Result.
Where is configuration stored?GetConfigPathJSON string containing a path.

Check connectivity and scheduler state

$AtrsPing = Invoke-RestMethod -Method Get -Uri "$AtrsBaseUrl/api/Service/Ping" -TimeoutSec 30
$AtrsRunning = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/Service/IsSchedulerRunning" -Headers $AtrsHeaders -TimeoutSec 30
$AtrsPing
$AtrsRunning

Expect 1 and a boolean. Ping verifies the listener; scheduler state describes scheduled processing. Neither proves Tableau access or report delivery.

Start or stop the scheduler

Choose the intended action, send it once and verify the resulting state:

$AtrsAction = Read-Host "Scheduler action: StartScheduler or StopScheduler"
if ($AtrsAction -notin @("StartScheduler","StopScheduler")) { throw "Choose a listed action" }
Invoke-RestMethod -Method Get -Uri "$AtrsBaseUrl/api/Service/$AtrsAction" `
    -Headers $AtrsHeaders -TimeoutSec 30
$AtrsRunning = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/Service/IsSchedulerRunning" -Headers $AtrsHeaders -TimeoutSec 30
Write-Host "Scheduler running: $AtrsRunning"

StartScheduler and StopScheduler return an empty successful response. Keep these state-changing GET operations out of health probes, prefetching and automatic retry policies.

The API service must already be running. Starting the scheduler cannot start an unavailable API listener. Stopping it does not prove all active or externally submitted work has finished.

Inspect the queue and active work

$AtrsQueue = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/Schedule/GetExecutionQueue" -Headers $AtrsHeaders -TimeoutSec 30
$AtrsActive = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/SystemMonitor/GetCurrentlyExecuting" -Headers $AtrsHeaders -TimeoutSec 30
$AtrsDue = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/SystemMonitor/AllDue" -Headers $AtrsHeaders -TimeoutSec 30
$AtrsQueue | ConvertTo-Json -Depth 50
$AtrsActive | ConvertTo-Json -Depth 50
$AtrsDue | ConvertTo-Json -Depth 50

Queue records include retained completed runs as well as current API activity. Active-work records describe processes. Due schedules are planned work, not proof of execution or delivery. Correlate execution IDs, process IDs and server names appropriately.

For an execution you submitted, follow its ExecutionId through monitoring and recovery.

Check execution capacity

$AtrsCapacity = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/Schedule/GetNumberOfFreeThreads" -Headers $AtrsHeaders -TimeoutSec 30
$AtrsCapacity.Result

The value is a current-server snapshot, clamped at zero. The default capacity is four, subject to configuration. It does not reserve a slot; another submission can consume capacity before your next request.

Schedule processes, rendering processes and data-driver row threads are different controls. Monitor Tableau-side limits and machine resources as well. Queue/capacity reads can also perform cleanup of old entries.

Find the configuration path

$AtrsConfigPath = Invoke-RestMethod -Method Get `
    -Uri "$AtrsBaseUrl/api/Service/GetConfigPath" -Headers $AtrsHeaders -TimeoutSec 30
$AtrsConfigPath

The response is a path string, possibly a network path. It is not file contents or a download URL. Access to the path requires separate filesystem permissions.

Perform maintenance checks

Before maintenance, record scheduler state, active work, queued submissions and expected deliveries. Coordinate applications that can submit work and inspect partial output before retrying interrupted runs.

After maintenance, repeat Ping, authenticated scheduler state, activity and capacity checks. Run an intended test schedule and inspect its output before resuming normal delivery.

In collaboration environments, verify access and output on each affected server. Configure collaboration through the ATRS administration workflow; UpdateCollaborationSettings can change connection settings and terminate processes, so it is outside these routine checks.

Troubleshooting

SymptomNext action
API does not respondCheck the API service and network connection.
Scheduler is stoppedReview maintenance state before deliberately starting it.
Capacity is zeroInspect current activity; zero alone is not a service failure.
Queue is empty but reports are runningInspect the process monitor and schedule history separately.

Did this page help you?