Slide 1

Slide 1 text

Supercharging 
 queues in Laravel 
 with Horizon

Slide 2

Slide 2 text

About me Freek Van der Herten Partner & developer at Spatie @freekmurze murze.be ohdear.app

Slide 3

Slide 3 text

fullstackeurope.com

Slide 4

Slide 4 text

Open Source 
 Software

Slide 5

Slide 5 text

Spatie creates a lot of it ± 200 packages on Packagist ± 2,300,000 downloads a month ± 35,000,000 total downloads All Postcardware!

Slide 6

Slide 6 text

Highlights Laravel Popular laravel-backup laravel-medialibrary laravel-permission

Slide 7

Slide 7 text

Highlights PHP Popular browsershot crawler fractalistic image-optimizer

Slide 8

Slide 8 text

spatie.be/open-source

Slide 9

Slide 9 text

spatie.be/open-source/postcards

Slide 10

Slide 10 text

Let's talk 
 about queues

Slide 11

Slide 11 text

This talk Tiny bit of theory Queueing basics in Laravel Introducing Horizon

Slide 12

Slide 12 text

Theory

Slide 13

Slide 13 text

Why do we use queues? Users want fast responses Intensive tasks shouldn't be done inside the request Move work to a queue

Slide 14

Slide 14 text

WORK TIME TIME REQUEST REQUEST WORK

Slide 15

Slide 15 text

ONE QUEUE MULTIPLE QUEUES Queue 1 Queue 2 Queue 3 TIME TIME WORK A WORK A WORK B WORK C WORK B WORK C

Slide 16

Slide 16 text

Queues 
 in Laravel

Slide 17

Slide 17 text

Feature rich Priorities Chaining Delays Testable

Slide 18

Slide 18 text

Driver based Database, Redis, Beanstalkd, Amazon SQS Can create your own driver Sync driver is handy locally

Slide 19

Slide 19 text

Demo

Slide 20

Slide 20 text

Introducing Horizon

Slide 21

Slide 21 text

Free first party package Dashboard for queues Scheduler Code driven configuration Laravel & Redis specific

Slide 22

Slide 22 text

Demo

Slide 23

Slide 23 text

In closing

Slide 24

Slide 24 text

Summary Feature rich Driver based Easy testable Horizon is a powerful tool to manage jobs

Slide 25

Slide 25 text

Resources github.com/spatie/laravel-queues-demo-app laravel.com/docs/5.8/queues laravel.com/docs/5.8/horizon ohdear.app/blog/how-to-size-scale-your-laravel-queues

Slide 26

Slide 26 text

Thank you! speakerdeck.com/freekmurze/horizon-afup spatie.be/open-source murze.be ohdear.app fullstackeurope.com