Skip to content

Tasks & Groups

⚡ Tasks UI

The Tasks & Groups page (/tasks) provides a unified interface for managing task definitions, group definitions, scheduling, dependencies, and alerts.

📊 Dashboard

The Dashboard provides a real-time overview of your system's health and activity.

📈 Status Definitions

The following table explains the various task statuses you will encounter on the dashboard:

Icon Status Meaning When differs from others
Idle Task is active but not currently executing. Waiting for its scheduled trigger time.
🚀 Active Task/Group is enabled in the system. Ready to be triggered by the scheduler.
🔄 Triggered Scheduler has initiated the execution. Signal sent to agent, waiting for confirmation.
🎬 Started Task received by agent, preparing to run. Agent acknowledged receipt, execution imminent.
▶️ Running Agent is actively processing the workload. Code/Command is currently executing on the host.
Success Execution completed successfully. Process exited with code 0.
Failed Execution failed to complete correctly. Process exited with non-zero code or exception.
Terminated Execution was manually stopped. Operator intervened to halt the process.

🗂 Page Layout

The page uses a split-view layout with two panels:

  • Left Panel (40%): Searchable, filterable data table with pagination. Toggle between Tasks and Groups tabs. Filter by active/inactive status.
  • Right Panel (60%): Displays either a visual dependency graph (Flow Graph) or a create/edit form depending on the selected action.

🗂 Task Definitions

The Task Definitions tab is the command center for managing individual automated jobs. Each task represents a single unit of work (e.g., a script, binary, or command) to be executed on a specific host.

Key Attributes & Capabilities:

  • TID (Task ID): Unique integer identifier for the task.
  • Management:
    • Create/Edit: Define the Command, Target Host, Run As User, and Description.
  • Scheduling:
    • Define precise Trigger Times or Run Frequency (recurring intervals with time window).
    • Set execution Timezones to ensure correct local timing.
    • Assign a Holiday Calendar to skip execution on non-working days.
    • Schedule Inheritance: Tasks in a group automatically inherit the group's schedule.
  • Resilience: Configure Retry Attempts and Max Run Time (timeout) to handle failures gracefully.
  • Dependencies: Visual dependency builder for constructing task dependency chains within a group.
  • Alerts: Configure alert rules per task — select integrations and credential keys for failure/success notifications.
  • Import/Export: Export all task and group definitions as a JSON file for backup or migration. Import definitions from a previously exported JSON file using the Import/Export button in the page header.

📦 Group Definitions

Task Groups serve as logical containers that organize related tasks into a single manageable unit.

Key Attributes & Capabilities:

  • GID (Group ID): Unique integer identifier for the group.
  • Unified Management:
    • Global Activation: Toggle the Active status of the group to strictly enable or disable ALL tasks within it.
    • Shared Context: All tasks in a group inherit the group's Instance and effectively share its lifecycle.
  • Orchestration:
    • Group Scheduling: Define a Trigger Time at the group level to orchestrate when the entire batch of tasks should be considered for execution.
    • Dependencies: Useful for organizing workflows (e.g., "Daily ETL Pipeline") where tasks are related by function or project.
    • Visual Flow Graph: View the group's task structure and dependency relationships in an interactive graph.

🔗 Relationship: Tasks & Groups

Understanding the relationship between Tasks and Groups is key to effective system organization:

  1. Cardinality: A Task can belong to exactly one Task Group (or none). A Task Group can contain multiple Tasks.
  2. Inheritance:
    • When a Task is assigned to a Group, it is strictly bound to that Group's logical "Instance".
    • Tasks in a group inherit the group's schedule, timezone, and calendar settings.
    • Disabling a Task Group (setting Active to False) effectively puts a "freeze" on all tasks within that group, preventing them from running regardless of their individual schedules.
  3. Workflow:
    • Use Groups to model high-level processes (e.g., "Finance End-of-Month").
    • Use Tasks to define the specific steps within that process (e.g., "Generate Report", "Email Summary").

Frequently Asked Questions

Q: What is the difference between a Task and a Task Group? A: A Task represents a single unit of work (script, command, or binary) to be executed on a specific host. A Task Group is a logical container that organizes related tasks. A task belongs to exactly one group, and disabling a group freezes all tasks within it.

Q: What task statuses can I see on the Dashboard? A: The dashboard shows Idle, Active, Triggered, Started, Running, Success, Failed, and Terminated statuses. Each has a distinct icon and meaning — for example, "Triggered" means the scheduler has initiated execution but is waiting for agent confirmation.

Q: Can I run a task immediately without waiting for its schedule? A: Yes. Use the Adhoc Tasks page (/adhoc) to execute one-off commands on selected agents, or use the Scheduler events to force-run a specific task. These features require Operator, Admin, or Superadmin role permissions.

Q: How do I import or export tasks? A: On the Tasks & Groups page (/tasks), use the Import/Export button in the header to export all task and group definitions as a JSON file, or import definitions from a previously exported JSON file.

Next Steps