AbejaIT AbejaIT

Watchtower for Laravel – Monitoring Schedules, Queues, and Errors in One Place

29.06.2026

Watchtower consolidates monitoring of scheduled tasks, queues, and exceptions into a single production dashboard for Laravel. Instead of juggling multiple tools, IT teams gain one place to manage the production environment – with the ability to bulk-retry failed jobs and trigger schedules on demand.

The Problem of Scattered Monitoring Tools in Production Environments

A mature Laravel application running in a production environment typically consists of several cooperating subsystems: an HTTP layer serving user requests, queue workers processing background tasks, the Artisan scheduler running planned operations, and an exception handler logging errors. Each of these elements generates events that require monitoring – but until now, this was usually done using separate tools or fragmented views in infrastructure panels.

The result of this fragmentation is unnecessary operational complexity: engineers must switch between Horizon (queues), Telescope (debugging), a custom scheduler dashboard, and application logs just to obtain a complete picture of system health. In an incident situation – where every minute counts – this fragmentation is particularly costly.

Watchtower is a Laravel package that set out to solve this problem through consolidation.

What Is Watchtower and What Does It Monitor?

Watchtower is an open-source package installed via Composer that delivers an integrated production monitoring panel for Laravel applications. Its scope covers four main areas:

  • Scheduler: a view of all registered Artisan tasks with history of recent runs, status (success/error), and the ability to manually trigger a task on demand.
  • Queues: an overview of pending, processing, and failed jobs with the ability to bulk-retry or delete failed tasks.
  • Exceptions: a centralized view of application errors with grouping, occurrence counts, and event context.
  • General metrics: a real-time system health overview visible from a single location without the need to combine data from multiple sources.

Bulk Retry of Failed Jobs – Control Without Manual Work

One of Watchtower's most practical features is the ability to bulk-retry failed jobs. In systems processing high data volumes, situations arise where an external service failure (provider API, database, email service) causes a series of failed tasks. After the service is restored, the operator must decide: retry jobs manually one by one, or use the Artisan CLI – which requires server access.

Watchtower solves this through a web interface that allows retrying all failed jobs for a given queue with a single click, selecting a subset of tasks to retry based on filters (time, job class, exception type), and monitoring retry results in real time. This genuinely shortens incident response time and reduces the burden on operations engineers.

Running Schedules on Demand

The Artisan scheduler is a powerful tool for automating repetitive tasks – but it has one obvious limitation: it runs on a fixed schedule. When an immediate run is needed (for example, manual data synchronization, generating a report before a deadline, refreshing cache after an incident), this previously required server CLI access or writing a separate command.

Watchtower introduces the ability to trigger registered scheduled tasks on demand from within the dashboard. For teams that want to maintain operational autonomy without logging into the production server, this is a significant ergonomic improvement. Combined with Laravel's role-based authorization control, this feature can be safely exposed to selected operators without granting them full SSH access.

These kinds of operational tools are especially valuable for organizations that rely on managed IT infrastructure – where response speed and proper delegation of operations directly impact business process continuity.

Comparison With Existing Ecosystem Tools

The natural question is: does Watchtower replace Laravel Horizon and Telescope? The answer is nuanced. Horizon is a specialized tool for Redis-based queues – it provides deeper throughput analytics, worker metrics, and advanced balancing configuration. Telescope is primarily a developer tool – ideal for local and staging debugging, but too costly (in performance terms) for production.

Watchtower occupies a different niche: a lightweight, operations-focused production dashboard that consolidates views of key subsystems without aspirations for full-scale analytics. For many organizations, this is exactly what is needed – not another advanced tool, but a single place to quickly assess system health and take action.

Configuration, Security, and Requirements

Watchtower is installed via Composer and configured through Laravel's standard configuration file. Access to the panel is secured through an authorization middleware, allowing visibility of the dashboard to be restricted to selected roles or users. The package requires neither Redis nor any external dependencies beyond Laravel itself, making it compatible with a wide range of production configurations.

For organizations deploying Laravel applications in environments with strict security requirements, it is worth noting the ability to configure access rules and disable selected features (such as manual schedule triggering) if security policy requires it.

If your organization needs support designing a Laravel production environment or implementing monitoring tools, we invite you to explore our custom software development and IT services for businesses offerings.

Conclusion

Watchtower addresses a genuine operational problem faced by teams maintaining Laravel applications in production: the fragmentation of views and monitoring tools across key subsystems. By consolidating the scheduler, queues, and exceptions in a single panel – with the ability to act, not just observe – it becomes a practical tool for engineers and operators who want to maintain full control over the production environment from one place.

Source: Laravel News – Monitor and Control Schedules, Queues, and Errors in Laravel with Watchtower