Posts Tagged #queues

Every article on the Techalyst blog tagged with #queues.

What Happens When the Queue Store Goes Down

Most queue advice assumes the queue is there. It usually is. But Redis restarts, a managed database fails over, a security group changes, and...

4 mins read

Horizon Is Filling Up Your Redis

Redis memory keeps climbing. You check the queues and they are empty, or near enough. Nothing is backed up, nothing is stuck, and yet the inst...

3 mins read

Running Extra Workers Only at Peak

Look at a graph of your queue depth over a day and it is rarely flat. A nightly import lands at two in the morning, order traffic peaks late a...

4 mins read

Adding a Second Worker Server

One server has been running the app and its workers happily. Traffic grew, the queue backs up every afternoon, and the obvious move is a secon...

4 mins read

Running Laravel Queue Workers Under Supervisor

A worker exits at three in the morning. Maybe it hit its memory limit, maybe the process was killed, maybe a fatal error took it down. Nothing...

4 mins read

Why Your Job Sees Data From the Last Job

Customers start receiving notifications in the wrong language. Not everyone, and not consistently: a French customer gets French, then the nex...

4 mins read

How Many Queue Workers Should You Run?

"How many workers should we run?" usually gets answered with a number somebody remembers from a previous project. You can do better...

4 mins read

Your Worker Is Listening to the Wrong Queue

Rows are accumulating in the jobs table. A worker is definitely running, because you can see the process. Nothing is being processed, and ther...

3 mins read

Running Work After the Response Without a Queue

Not every slow thing deserves a queue. Warming a cache entry, writing an analytics row, pinging a webhook you do not care much about: all wort...

3 mins read

dispatch() Queues Later Than You Think

Here is a small mystery. You dispatch a job, then do something else in the same method, and the ordering is not what you wrote: The log line c...

3 mins read

The First Job in a Chain Carries the Whole Chain

A tenant-provisioning flow grew organically: create the schema, seed the defaults, warm a few caches, sync the billing record, send the welcom...

4 mins read

Should Your Jobs Run in Order or All at Once?

You are importing a supplier's product feed. Parse the file, process forty thousand rows, then rebuild the search index and email whoever kick...

4 mins read

Switching Queue Drivers in Laravel Without Downtime

Each queue driver has its strengths, and one day you may want to move from one to another, say from the database driver to redis as you grow....

3 mins read

Stop All Your Jobs Retrying at the Same Moment

A search-index provider has a bad ten minutes. Three thousand product-sync jobs fail, each one with $backoff = 600. Ten minutes later the prov...

4 mins read

Removing Jobs of a Specific Type From a Laravel Queue

Here is a real incident. A pull request was merged by mistake and pushed one particular job to the queue more than a hundred thousand times. T...

3 mins read

Limiting How Many Jobs Hit an API at Once

A supplier lets you hold five connections open. You run twenty workers, and a stock-sync job goes onto the queue for every product you carry....

4 mins read

Modern Laravel Queue Features Worth Knowing

The Laravel queue system grew a set of features that, taken together, make it genuinely production grade. Here is a tour of the ones worth hav...

3 mins read

One Slow API Call Can Freeze Your Queue Worker

A worker has been on the same job for four minutes. The CPU is idle, the database is fine, and nothing is in the log. It is not stuck in a loo...

4 mins read

Avoiding Lock Timeouts When Dispatching Large Job Batches

Batches are great until you dispatch a really big one. Push thousands of jobs into a single batch and you can deadlock your own queue, with wo...

3 mins read

Handling API Rate Limits in Queued Jobs

If your jobs call a third party API, sooner or later you will hit its rate limit and start getting 429 Too Many Requests. Hammering the API ha...

3 mins read