Laravel Horizon – Redis queues monitoring

Laravel Horizon is an elegant dashboard and configuration system for managing your Redis queues in Laravel applications. It provides a real-time view of your queue system, allowing you to monitor your job processing, manage workers, and gain insights into your queued jobs.

Key Features of Laravel Horizon:

  1. Dashboard: A beautiful dashboard that provides an overview of your queues, job statistics, and processing times.
  2. Real-Time Monitoring: View the current status of your jobs and workers in real time.
  3. Failed Job Management: Easily manage and retry failed jobs.
  4. Job Metrics: Gain insights into job processing times and other metrics to optimize your queue system.
  5. Queue Configuration: Allows you to configure how your queues and workers behave.

Installation

To get started with Laravel Horizon, follow these steps:

  1. Install Laravel Horizon: Use Composer to install the package:
  2. Publish the Horizon Configuration: After installing, publish the Horizon configuration file:
  3. Run Horizon: You can run Horizon using the Artisan command:

Configuration

Laravel Horizon’s configuration is stored in the config/horizon.php file. You can customize various settings, such as queue connections, timeouts, and more.

Example Configuration

Here’s a basic example of what your config/horizon.php file might look like:

Running Horizon

Once you’ve configured Horizon, you can start it with the following command:

This command will start processing jobs in your Redis queues based on your configuration. You can also run Horizon in the background using a process manager like Supervisor or systemd.

Accessing the Dashboard

You can access the Horizon dashboard by visiting /horizon in your browser. The dashboard provides various features, including:

  • Job Metrics: View metrics for job throughput, wait times, and failures.
  • Job Statistics: Analyze the success and failure rates of jobs.
  • Failed Jobs: Manage and retry failed jobs directly from the dashboard.

Monitoring Job Processing

Laravel Horizon provides several useful features for monitoring job processing:

  • Real-Time Updates: The dashboard updates in real time, showing you the current status of jobs and workers.
  • Job Details: Click on a job in the dashboard to view its details, including its status, attempts, and processing time.
  • Notifications: You can set up notifications for failed jobs to alert your team via Slack or other channels.

Handling Failed Jobs

Horizon makes it easy to manage failed jobs:

  1. Viewing Failed Jobs: Navigate to the “Failed Jobs” section in the Horizon dashboard to see all jobs that have failed.
  2. Retrying Jobs: You can retry a failed job directly from the dashboard by clicking the “Retry” button.
  3. Deleting Jobs: You can also delete failed jobs from the dashboard if they are no longer needed.

Customizing Job Retry Logic

You can customize the retry logic for specific jobs by defining a tries property in your job class:

Conclusion

Laravel Horizon is an invaluable tool for monitoring and managing Redis queues in your Laravel applications. With its intuitive dashboard, real-time monitoring, and robust job management features, you can ensure your job processing system runs smoothly and efficiently.

Additional Considerations

  • Supervisor Integration: Consider using a process manager like Supervisor to keep Horizon running in the background.
  • Performance: Regularly monitor job performance metrics to identify bottlenecks and optimize processing.
  • Security: Protect your Horizon dashboard by implementing authentication or IP whitelisting, especially in production environments.

 

  1. Laravel Breeze – Simple authentication starter kit
  2. Laravel Jetstream – Scaffolding for Laravel apps
  3. Laravel Passport – API authentication via OAuth2
  4. Laravel Sanctum – Simple API authentication
  5. Spatie Laravel Permission – Role and permission management
  6. Laravel Cashier – Subscription billing with Stripe
  7. Laravel Scout – Full-text search using Algolia
  8. Laravel Socialite – OAuth authentication (Google, Facebook, etc.)
  9. Laravel Excel – Excel import and export for Laravel
  10. Laravel Horizon – Redis queues monitoring
  11. Laravel Nova – Admin panel for Laravel
  12. Laravel Fortify – Backend authentication for Laravel
  13. Laravel Vapor – Serverless deployment on AWS
  14. Laravel Telescope – Debugging assistant for Laravel
  15. Laravel Dusk – Browser testing
  16. Laravel Mix – API for compiling assets
  17. Spatie Laravel Backup – Backup management
  18. Laravel Livewire – Building dynamic UIs
  19. Spatie Laravel Media Library – Manage media uploads
  20. Laravel Excel – Excel spreadsheet handling
  21. Laravel Debugbar – Debug tool for Laravel
  22. Laravel WebSockets – Real-time communication
  23. Spatie Laravel Sitemap – Generate sitemaps
  24. Laravel Spark – SaaS scaffolding
  25. Laravel Envoy – Task runner for deployment
  26. Spatie Laravel Translatable – Multilingual model support
  27. Laravel Backpack – Admin panel
  28. Laravel AdminLTE – Admin interface template
  29. Laravel Collective Forms & HTML – Simplified form and HTML generation
  30. Spatie Laravel Analytics – Google Analytics integration
  31. Laravel Eloquent Sluggable – Automatically create slugs
  32. Laravel Charts – Chart integration
  33. Laravel Auditing – Track changes in models
  34. Laravel JWT Auth – JSON Web Token authentication
  35. Laravel Queue Monitor – Monitor job queues
  36. Spatie Laravel Query Builder – Filter, sort, and include relationships in Eloquent queries
  37. Laravel Datatables – jQuery Datatables API
  38. Laravel Localization – Multilingual support for views and routes
  39. Laravel Acl Manager – Access control list manager
  40. Laravel Activity Log – Record activity in your app
  41. Laravel Roles – Role-based access control
  42. Spatie Laravel Tags – Tagging models
  43. Laravel Installer – CLI installer for Laravel
  44. Laravel Breadcrumbs – Generate breadcrumbs in Laravel
  45. Laravel Mailgun – Mailgun integration for Laravel
  46. Laravel Trustup Model History – Store model change history
  47. Laravel Deployer – Deployment automation tool
  48. Laravel Auth – Custom authentication guards
  49. Laravel CORS – Cross-Origin Resource Sharing (CORS) support
  50. Laravel Notifications – Send notifications through multiple channels
  51. Spatie Laravel Http Logger – Log HTTP requests
  52. Laravel Permission Manager – Manage permissions easily
  53. Laravel Stubs – Customize default stubs in Laravel
  54. Laravel Fast Excel – Speed up Excel exports
  55. Laravel Image – Image processing
  56. Spatie Laravel Backup Server – Centralize backups for Laravel apps
  57. Laravel Forge API – Manage servers through the Forge API
  58. Laravel Blade SVG – Use SVGs in Blade templates
  59. Laravel Ban – Ban/unban users from your application
  60. Laravel API Response – Standardize API responses
  61. Laravel SEO – Manage SEO meta tags
  62. Laravel Settings – Store and retrieve settings
  63. Laravel DOMPDF – Generate PDFs
  64. Laravel Turbo – Full-stack framework for building modern web apps
  65. Spatie Laravel Event Sourcing – Event sourcing implementation
  66. Laravel Jetstream Inertia – Jetstream’s Inertia.js integration
  67. Laravel Envoy Tasks – Task automation
  68. Laravel Likeable – Like/dislike functionality
  69. Laravel GeoIP – Determine visitor’s geographic location
  70. Laravel Country State City – Dropdowns for country, state, and city
  71. Laravel Hashids – Generate short unique hashes
  72. Laravel Repository – Repository pattern for Laravel
  73. Laravel UUID – UUID generation for models
  74. Spatie Laravel Medialibrary Pro – Enhanced media management
  75. Laravel Queue Monitor – Monitor Laravel job queues
  76. Laravel User Activity – Monitor user activity
  77. Laravel DB Snapshots – Create database snapshots
  78. Laravel Twilio – Twilio integration
  79. Laravel Roles – Role-based permission handling
  80. Laravel Translatable – Add translations to Eloquent models
  81. Laravel Teamwork – Manage teams in multi-tenant apps
  82. Laravel Full Text Search – Add full-text search to Laravel models
  83. Laravel File Manager – File and media management
  84. Laravel User Timezones – Automatically detect user time zones
  85. Laravel ChartsJS – Render charts with ChartsJS
  86. Laravel Stripe – Stripe API integration
  87. Laravel PDF Generator – PDF generation
  88. Laravel Elasticsearch – Elasticsearch integration
  89. Laravel Simple Qrcode – Generate QR codes
  90. Laravel Timezone – Manage timezones and conversions
  91. Laravel Collective API – API management for Laravel
  92. Laravel Rest API Boilerplate – REST API starter kit
  93. Laravel Multi Auth – Multi-authentication functionality
  94. Laravel Voyager – Admin panel for Laravel
  95. Laravel Voyager Database – Database manager for Voyager
  96. Laravel Categories – Handle categories for models
  97. Laravel Multitenancy – Multi-tenancy implementation
  98. Laravel Access Control – Advanced access control for users
  99. Laravel Menus – Menu management
  100. Laravel Translatable Routes – Multilingual route handling

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top