Skip to main content

Jobs Monitoring

The Jobs page provides a centralized dashboard for monitoring all background tasks running on the Parthenon platform. Navigate to Jobs in the main navigation to view queue status, track progress, and manage job lifecycle.

Background Jobs in Parthenon

Many operations in Parthenon run asynchronously as background jobs processed by Laravel Horizon. These include long-running tasks that would otherwise block the user interface:

Job TypeIconDescription
Cohort GenerationUsersBuilding patient cohorts from cohort definitions
AchillesBar ChartRunning Achilles characterization analyses
DQDShieldData Quality Dashboard checks
CharacterizationFlaskCohort characterization analyses
Incidence RateFlaskIncidence rate calculations
PathwayGit ForkTreatment pathway analyses
EstimationFlaskPopulation-level effect estimation
PredictionFlaskPatient-level prediction models
IngestionUploadData file parsing and loading
Vocabulary LoadBookVocabulary ZIP import and processing

Filtering Jobs

A row of filter chips at the top of the page lets you narrow the job list by status:

  • All -- shows every job regardless of status
  • Running -- currently executing jobs
  • Failed -- jobs that terminated with an error
  • Completed -- successfully finished jobs
  • Queued -- jobs waiting for a worker to pick them up

Click any filter chip to toggle it. The active filter is visually highlighted.

Jobs Table

Jobs are displayed in a sortable table with the following columns:

ColumnDescription
JobThe job name (e.g., "Generate Cohort: Diabetes Type 2")
TypeJob type with an icon indicator (e.g., "cohort generation")
SourceThe CDM data source the job operates against, if applicable
StartedRelative time since the job began (e.g., "5m ago", "2h ago")
DurationElapsed time displayed in monospace (e.g., "3m 42s")
StatusStatus indicator with badge (see below)
ActionsContext-sensitive action buttons

Status Indicators

Each job status is represented by a distinct icon and badge:

  • Queued / Pending (clock icon) -- waiting in the queue for an available worker.
  • Running (spinner icon) -- actively executing. A progress bar is displayed inline when the job reports percentage progress.
  • Completed (green checkmark) -- finished successfully.
  • Failed (red X) -- terminated with an error.
  • Cancelled (ban icon) -- manually cancelled by a user.

Job Actions

Actions are available directly in the table row, depending on job status:

ActionAvailable WhenEffect
RetryFailedRe-queues the job for another execution attempt
CancelRunning or QueuedTerminates the job and marks it as cancelled

Action buttons are isolated from row clicks -- clicking an action button does not open the detail drawer.

Job Detail Drawer

Click any job row to open a detail drawer on the right side of the screen. The drawer provides comprehensive information about the selected job:

Status and Progress

The drawer header shows the job name, current status badge, and a progress bar (for running jobs).

Metadata Grid

FieldDescription
TypeThe job type (formatted with spaces, e.g., "cohort generation")
SourceThe CDM data source name
Triggered ByThe user who initiated the job
DurationElapsed time from start to completion

Error Messages

For failed jobs, a red alert card displays the error message. This is the primary diagnostic tool for understanding why a job failed.

Log Output

If the job produces log output, it is displayed in a formatted code block at the bottom of the drawer. This includes detailed processing logs, row counts, SQL statements, and any warnings emitted during execution.

Drawer Actions

The same Retry and Cancel actions available in the table are also accessible from the drawer, providing a convenient way to take action after reviewing job details.

Empty States

When no jobs match the current filter, an empty state message is shown:

  • With a status filter active: "No {status} jobs. Try a different filter."
  • With no filter: "Background jobs will appear here when analyses run."
Monitoring long-running analyses

Cohort generation, Achilles, and population-level estimation jobs can run for several minutes to hours depending on dataset size. Use the Jobs page to monitor progress and check for failures rather than waiting on the analysis page. The progress bar provides real-time percentage updates for supported job types.

Failed job investigation

When a job fails, always check the error message and log output in the detail drawer before retrying. Common causes include database connection timeouts, insufficient memory for large cohorts, and missing vocabulary mappings. Retrying without addressing the root cause will produce the same failure.