Jobs
Monitor running and completed jobs through the Jobs page and the Activity Hub in the top navigation bar.
Overview
The Jobs page provides a centralized view of all scanning activity happening across your attack surface. In the Praetorian Guard Platform (PGP), a job represents a single scanning capability executing against a specific target — for example, a port scan running against an IP address, a Nuclei vulnerability scan running against a web application, or a web crawler mapping the endpoints of a discovered service.
Jobs are the unit of work behind Guard's continuous security scanning. Every time Guard scans an asset, it creates one or more jobs that execute the appropriate capabilities for that asset type. The Jobs page lets you monitor the progress and outcomes of these jobs in real time. It displays the last 24 hours of scanning activity, giving you a rolling window into recent and active scan operations.
Activity Hub
The Activity Hub in the top navigation bar gives you a persistent, at-a-glance view of job activity without occupying page-level space. It consists of two elements:
Activity Pill
When jobs are running or queued, a live count appears directly in the top nav as an activity pill. The count updates in real time and is hidden automatically when there is no active work, so it only draws attention when something is happening.
Notification Center
Clicking the bell icon in the top nav opens the notification center popover. The popover displays:
- Running jobs — each active job listed with hourly stats showing scan throughput over the current period.
- Recent platform activity — a feed of notable events across your environment.
The notification center replaces the previous rotating footer carousel and integration-suggestion banner, consolidating job status and platform activity into a single, non-disruptive location.
How Jobs Are Created
Jobs are created in two ways:
- Automated scheduling — Guard's background scheduler continuously creates jobs based on your attack surface. As assets are discovered, the scheduler dispatches the appropriate scanning capabilities against them. The timing and intensity of automated jobs are governed by your scan windows and rate limit settings, configured under Settings > Scan Settings. For more details, see the Scan Windows and Scan Limits articles in the documentation.
- Manual triggers — You can initiate scans directly from the Assets page by selecting one or more assets and choosing a scan action (such as Comprehensive Scan, Port Scan, Web Scan, or Web Crawl). These manual triggers create jobs that execute immediately, regardless of scan window settings.
The Jobs Table
When you navigate to the Jobs page, you'll see a table displaying all jobs in the system. Each row represents a single job with the following information:
- Source — The source system or scanner executing the job.
- Job Name — The scanning capability being run (e.g., portscan, nuclei, crawler, screenshot, fingerprint).
- Target — The destination IP address, domain, or URL being scanned.
- Source IP — The IP address of the PGP scanner performing the job.
- Status — A color-coded icon indicating the current state of the job.
Job Statuses
A job will be in one of the following states:
- Queued — The job is waiting to be dispatched. Jobs enter the queue when scheduled and are dispatched based on your rate limit settings and available scanner capacity.
- Running — The job is currently executing against its target.
- Completed — The job has finished successfully. Any findings from the scan are processed and routed to the Vulnerabilities page.
- Failed — The job encountered an error during execution that is relevant to your environment or configuration. Hover over a failed job to see the error details in a tooltip.
- Blocked — Guard deliberately declined to run the job. This is a normal terminal state, not an error. See Blocked Jobs below for details.
- Skipped — The capability determined that the target is not applicable to its checks and deliberately produced no results. This is a normal terminal state, not an error. See Skipped Jobs below for details.
Note: Failures caused by Praetorian-side infrastructure issues — such as expired API keys, scan timeouts, malformed specs, or internal errors — are not shown in the customer-facing job list. These failures are not actionable by customers and are monitored and resolved by Praetorian operators. Only failures relevant to your environment or configuration appear in your view.
Blocked Jobs
Blocked (JB) is a distinct terminal status that indicates Guard intentionally chose not to execute a job. Common reasons include:
- Scanning is currently frozen for your account or environment.
- The target is outside the scope defined for your account.
- The job falls outside a configured scan window schedule.
- You have requested that a domain or asset be excluded from scanning.
Blocked jobs are not failures. They do not appear in Failed counts and do not indicate a scanning error or misconfiguration. The platform treats Blocked as a clean terminal state, so polling stops and the job does not remain in a non-terminal condition.
The Blocked status communicates the outcome of the job without exposing internal routing details. If you believe a job is being blocked unexpectedly, review your scan scope, scan window settings, and any exclusions configured under Settings > Scan Settings, or contact support.
Skipped Jobs
Skipped is a distinct terminal status that indicates a capability evaluated the target and determined its checks do not apply to it. For example, a web-focused capability may skip a target that is not running an HTTP service, or a capability designed for a specific technology stack may skip targets that do not use that stack.
Skipped jobs are not failures. They carry their own label and icon, separate from Failed, Blocked, and Completed, and are counted independently in status filters and exports. Because structurally incompatible targets are now reported as Skipped rather than Failed, failure counts reflect only genuine scan errors — making it easier to identify scans that require attention.
A Skipped outcome is fully terminal: Guard does not retry the job, and no findings are produced. If you see a higher-than-expected Skipped count for a particular capability, this typically indicates that the capability's scope of applicable targets does not include those assets, which is expected behavior. No action is required unless you believe a target should be in scope for that capability, in which case contact support.
Search and Filtering
A search bar at the top of the page lets you find specific jobs. The search works across multiple fields, including job names, DNS entries, and source systems. Results update automatically as you type.
To focus on specific job states, use the Status filter on the left side of the screen. This filter displays the count of jobs in each state, making it easy to spot issues at a glance — for example, a spike in failed jobs. Blocked and Skipped jobs each appear as their own status category and are counted separately from Failed jobs.
Status counts and filters reflect only the job states described above. Praetorian-side infrastructure failures are excluded from all counts and filter options, so the numbers you see represent activity that is meaningful to your environment.
When jobs fail, the Failed Reasons filter groups similar failures together, helping you identify systemic issues rather than investigating each failure individually.
Job Control
The Jobs page provides two levels of control over scanning activity:
System-Wide Control
At the top of the page, a Pause Jobs button (or Resume Jobs if already paused) controls all automated job scheduling. When you pause jobs:
- New automated scans will not be created
- Currently running jobs will complete normally
- Manual job execution remains available
- A confirmation dialog will appear before the change takes effect
Individual Job Control
Each job entry includes a refresh icon that allows you to manually re-run that specific job. You cannot re-run a job that is currently running or queued.
Bulk-Actions Drawer
The bulk-actions drawer shows the status of jobs triggered from multi-asset selections on the Assets page. Completed jobs in this drawer display a frozen absolute completion timestamp, so the record of when a job finished remains stable over time rather than showing a climbing relative age.
Auto-Refresh
The Jobs page automatically refreshes every 15 seconds to keep the displayed information current. When jobs are running normally (not paused), a countdown timer shows when the next scheduled scan cycle will occur, displayed in hours and minutes.
Traffic Attribution
Each job includes identifying information that helps your security operations team distinguish PGP scanning activity from potential threats in your logs:
- Source IP — The IP address of the PGP scanner performing the job
- Job Type — The specific capability being used
- Target — The destination being scanned
PGP scanners also include identifying HTTP headers and user agents in their requests. You can find your unique scan attribution header under Settings > Scan Header. For full details on scan traffic identification and allowlisting, see the Network Traffic Attribution article in the documentation.
Troubleshooting Failed Jobs
When jobs fail, you can:
- Hover over the job entry to see the full error message in a tooltip
- Use the Failed Reasons filter to find similar failures
- Re-run the job manually using the refresh icon if the issue appears temporary
- Check the job's target and source information to identify configuration issues
If you see a high Blocked count and are not expecting jobs to be declined, verify your scan scope, active scan windows, and any domain exclusions in Settings > Scan Settings.
If you see a high Skipped count and believe the targets should be applicable to the capability in question, contact support to review your scan configuration.
If you notice a scan that should have run but produced no results and no visible failure, it is possible the job encountered a Praetorian-side issue that was handled internally. Contact support if you have questions about scan coverage for a specific asset.
Support
If you encounter issues with the Jobs page or need assistance, contact our support team at support@praetorian.com.