Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

Laravel Queue Mastery

In this series, join Mohamed Said, from the Laravel core team, as he reviews the ins and outs of how to use Laravel's high-performance queue system to run any potentially long-running task asynchronously. You'll begin by dispatching your first job, and slowly work your way up to more complex configurations and deployment techniques.

Progress

Series Info

Episodes
12
Run Time
1h 41m
Difficulty
Intermediate
Last Updated
Jun 7, 2021
Version
Laravel 8

Series Episodes

  1. Episodes (12)
    1. Dispatching and Running Jobs

      To get started, we'll discuss why using queues is important. We’ll also look into how we can dispatch and run jobs.
    2. Configuring Jobs

      Next, we'll learn how to configure job timeouts and attempts. We’ll also take a look at queue prioritization.
    3. Handling Attempts & Failures

      Jobs may fail to run. So in this episode we’ll look into how we can manage job attempts and handle failure.
    4. Dispatching Workflows

      So far we’ve been dispatching single jobs to the queue. Let’s look into dispatching chains and batches of jobs.
    5. More Complex Workflows

      In this episode we’ll look into handling workflows failures and completion. We’ll also explore mixing chains and batches to run more complex workflows.
    6. Controlling and Limiting Jobs

      Have you ever heard the term race condition? In this episode we’ll see how we can prevent race conditions. Also we’ll take a look at the many ways we can configure a job's concurrency and rate of processing.
    7. More Job Configurations

      In this lesson, we'll review job uniqueness with its different configurations. We'll also introduce a simple Circuit Breaker implementation that’s very handy.
    8. Designing Reliable Jobs

      Now that we know how to dispatch and run jobs, it's time to learn about some best practices worth following when designing and dispatching queued jobs. We’ll look into dispatching inside database transactions, making jobs light and self-contained, and securing a job's payload.
    9. Deployments

      Next, we'll look into how we may keep our worker processes running at all times, and how to restart those workers after deployments.
    10. Scaling Workers

      Let's see how we can scale workers as the load varies from time to time. We'll use CRON and Supervisord to schedule the scaling, and also explain how we may leverage Laravel Horizon's auto scaling abilities.
    11. Configurations Reference

      In this episode, we look into the different ways that you can configure the queue system. We'll discuss configurations on the worker level, job level, and connection level.
    12. Under the Hood

      Understanding how the queue system works under the hood allows us to utilize its full power. In this episode we'll drop down a level and learn how jobs are pushed to the queue store and how workers process them.

Continue Learning