Skip to main content

Jobs System

Overview

The Jobs System in Atria is a powerful operational module that automates and manages repetitive or scheduled tasks for Service Providers. It functions as a centralized tool to execute, monitor, and control a wide range of processes critical to IT service management. By automating these tasks, the Jobs System reduces manual effort, minimizes errors, and ensures consistency across operations.

The Jobs System supports both predefined and customizable workflows, making it adaptable to diverse business needs. It enables the execution of tasks such as system maintenance, data synchronization, user account updates, reporting, and billing. These tasks are configured as “Jobs,” which are automated processes that can be scheduled or run on demand.

The system is designed to handle high volumes of operations efficiently, with features that enhance reliability, security, and traceability. By integrating with other Atria components, it provides a seamless experience for managing large-scale IT operations across multiple customers and environments.

Features

Encrypted Storage of Secrets

Jobs may require sensitive information, such as API credentials, to execute tasks. The Atria Job System securely stores these secrets using encryption, ensuring that only authorized processes can access this data. Secrets are added as part of the job configuration and are safely managed throughout the execution lifecycle.

Centralized Logging

The Job System provides a centralized logging mechanism that captures detailed information about each Job run. Logs are crucial for diagnosing errors, analyzing performance, and auditing completed processes. Every Job Run is logged in the system, and users can view these logs to troubleshoot issues or verify task completion.

CRON Expression Scheduling

Jobs can be scheduled using CRON expressions, which allow for flexible and repeated execution. This feature is especially useful for recurring tasks like nightly backups or weekly billing updates. The system supports standard CRON expressions, and Jobs can be configured to run at any desired frequency. Note that all scheduled Jobs are configured in UTC timezone by default.

Manual Execution

In addition to scheduled runs, Jobs can be triggered manually at any time. This on-demand feature is valuable for testing new Jobs or re-running processes that might have failed previously without waiting for the next scheduled time.

Job Disabling

Jobs can be easily disabled when they are not needed, without having to delete them from the system. Disabling a Job prevents it from being executed via schedule, whilst allowing it to be triggered manually if required. This is helpful for managing temporary Jobs, being able to store and run administrative tasks on demand, or for pausing a Job during maintenance periods.

Structure

The Atria Job System allows service providers to define and configure multiple Jobs. When a Job is created or updated, a version is stored to maintain an audit trail, ensuring traceability of changes.

Each execution of a Job results in the creation of a Job Run, which contains detailed logging and execution data.

Jobs View

Jobs configured within the Atria System

The "Jobs" page can be found by navigating to Configuration > Provisioning & Debug Tools > Jobs. This page provides a comprehensive overview of all Jobs configured within the Atria system. Each row contains important details about a Job, including:

  • Label: The name of the Job for easy identification.
  • Type: The category or technology associated with the Job. For example, a "Powershell" type indicates that the Job runs a Powershell script.
  • Scheduled: This column shows whether a Job is enabled for scheduled execution. Jobs with a checkmark have an active schedule.
  • Next Run: Displays the next scheduled execution time of the Job, based on its CRON configuration.
  • Last Run: The timestamp of the last execution of the Job.
  • Last Run Result: The outcome of the last run. Success is indicated with a green checkmark, while errors are highlighted in red with details on the error count.
info

System Jobs, which are managed directly by Atria, are also listed here but cannot be modified by users.

Adding a Job

Add a new Job via the Atria UI

When adding a new Job, you are defining the process that will be executed, along with its key configuration. The form includes:

  • Label: Provide a unique identifier for the Job.
  • Task: Select from predefined tasks, such as "Connectwise Integration" or "Powershell" These tasks define the core function of the Job, each may require different parameters.
  • Execution: Choose between "Scheduled" or "On Demand." If scheduled, you must also provide a CRON expression for the timing of the Job.
  • Log Level: Set the verbosity of the logs captured during the Job run (e.g., Error, Info, Debug). This will determine the level of detail recorded in the logs.
  • Secrets: Enter any sensitive information required for the Job (e.g., API keys). These values are stored securely and can be referenced during execution. Note that once Secrets are saved, it is not possible to subsequently view them.

Once a Job is created, the next steps involve testing and monitoring it, with adjustments made in the configuration phase if necessary.

Configuring a Job

Configure an existing Job

After a Job has been created, it can be further configured to meet more specific requirements. The configuration options allow you to:

  • Adjust Execution Details: Update the CRON expression or switch the execution mode between "Scheduled" and "On Demand."
  • Review Last Run Status: The Last Run Result (e.g., "Completed Successfully") is clickable and provides insight into the outcome of the most recent run. This is useful for checking on performance and troubleshooting.
  • Modify Configuration: Depending on the Job type, you may need to adjust script paths, variables, or environment settings. This is common for PowerShell jobs where file paths and parameters are passed.
  • Manage Secrets: Modify or update the encrypted secrets required for execution. These can include API credentials, database access keys, or other sensitive information.

In the example above, the Job's most recent execution was successful, as indicated by the "Completed Successfully" message in orange. Clicking this will navigate to the Job Run details for more in-depth analysis.

View Job Runs

View the Runs of a Job

This can be found by navigating to Configuration > Provisioning & Debug Tools > Jobs Runs.

The Job Runs screen shows the historical execution of a Job, with each row representing a single run. You can click on any row to view detailed logs for that specific run.

Information displayed includes:

  • Label: The name of the Job.
  • Type: The technology or category of the Job.
  • Start Time and Finish Time: Indicates when the Job started and when it completed.
  • Result: The outcome of the Job (e.g., "Completed Successfully" or "Failed").

This page allows users to monitor and troubleshoot Jobs by examining individual Job Runs.

View a Run of a job

View a Job Run

In the detailed Job Run view, users can inspect the logs generated during a specific run. This information is useful for diagnosing failures or verifying successful completion.

  • Job: The Job name is displayed, and clicking the link takes you back to the Job Editor for further configuration changes.
  • Log Messages: Displays the log entries, including timestamps, log levels, and messages. Users can filter these logs by type (e.g., Info, Debug, Error) to focus on specific details.

Navigate between Jobs and Runs

The navigation link allows quick access between various administrative functions, such as managing Jobs or viewing Job Runs. Users can easily switch between the Jobs list and the Job Runs pages using this menu for efficient navigation.

The default view on the Job Runs page shows all Job Runs across all Jobs in the system, making it easy to track overall system performance and execution history.