Skip to content

Scheduled Tasks

The Scheduled Tasks resource provides a centralized view of all scheduled commands and jobs configured via Laravel’s scheduler. Use this page to verify that tasks run on schedule, monitor their performance, and investigate any failures.

Navigation: Access Scheduled Tasks from the sidebar under the “Scheduled Tasks” section.


The table displays a paginated list of all scheduled tasks, ordered by the most recent run time or task name (depending on active filters). By default, 50 entries are shown per page with a Load More button at the bottom to fetch additional records.

  1. Scheduled Task

    • The task identifier, typically the Artisan command signature or custom task name (e.g., backup:run, emails:send-digest).
  2. Schedule

    • The CRON expression or human-readable schedule (e.g., * * * * *, daily at 02:00).
  3. Last Run At

    • Timestamp when this task last executed. If the task has never run, this field may display “—”.
  4. Next Run At

    • Predicted next execution timestamp based on the schedule.
  5. Avg. Duration

    • The average execution time across all historical runs, in milliseconds.
  6. Status

    • Current health state of the task:
      • HEALTHY: Last run completed successfully within expected duration.
      • WAITING: Scheduled but not yet executed (upcoming run).
      • SKIPPED: Missed its scheduled window (for example, if the scheduler was down).
      • FAILED: Last run ended with a non-zero exit code or threw an uncaught exception.
  7. View Icon (👁️)

    • Click to open the Scheduled Task Details page, where you can inspect per-run metrics, history, and logs (covered in a separate article).

Above the table, use the following filters to locate specific tasks or statuses:

  1. Search

    • Searches across the task signature or name. Wildcards and partial matches are supported (e.g., searching “backup” matches both backup:run and backup:cleanup).
  2. Status Dropdown

    • Filter tasks by their current status (HEALTHY, WAITING, SKIPPED, FAILED). Selecting a status shows only tasks matching that health state.
  3. Schedule Dropdown

    • A list of common schedule presets (e.g., everyMinute, hourly, daily, weekly) or recently used CRON expressions. Choose a preset to filter tasks that run on that cadence.

Tip: Combine the Search filter with Status to quickly find, for example, failed hourly tasks by searching for “hourly” and selecting FAILED in the status dropdown.


  • The Scheduled Tasks table initially shows up to 50 entries.
  • Click Load More to append the next batch of 50 tasks.
  • This incremental loading ensures fast initial page loads, especially in large deployments with many scheduled tasks.

  • Monitor Task Health: Use the Status filter to view all FAILED tasks; investigate immediately to avoid missed operations (backups, notifications, cleanup scripts).
  • Validate Schedules: Filter by schedule presets to ensure that critical tasks (e.g., daily backups) are correctly configured.
  • Compare Duration Trends: Sort by Avg. Duration (if sortable) or scan the column to spot tasks increasing in runtime—an early warning of performance regressions.
  • Investigate Skipped Tasks: A SKIPPED status often means the scheduler wasn’t running or the server was offline. Verify system uptime and scheduler configuration.
  • Use Search for Nameless Tasks: When tasks have similar names, prefix your query (e.g., “email”) to narrow down to email-related scheduled jobs.

By leveraging the Scheduled Tasks index and filters, you can maintain visibility into your application’s scheduled workload, ensure timely executions, and proactively address any failures or anomalies.