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.
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.
Configuring Jobs
Next, we'll learn how to configure job timeouts and attempts. We’ll also take a look at queue prioritization.
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.
Dispatching Workflows
So far we’ve been dispatching single jobs to the queue. Let’s look into dispatching chains and batches of jobs.
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.
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.
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.
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.
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.
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.
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.
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.
این دوره هنوز به پایان نرسیده است و در آینده درس های دیگری به آن افزوده خواهد شد.