What is Laravel Horizon?

  Рет қаралды 13,046

Aaron Francis

Aaron Francis

Күн бұрын

In this video I give you an overview of Laravel Horizon, a package that provides a beautiful dashboard and code-driven configuration for your Laravel powered Redis queues.
Docs: laravel.com/docs/11.x/horizon

Пікірлер: 69
@simonswiss
@simonswiss 27 күн бұрын
You are going to drive SO MANY new devs to Laravel with this content ✨
@aarondfrancis
@aarondfrancis 26 күн бұрын
Thanks, I hope so!
@PureGlide
@PureGlide 27 күн бұрын
I use Horizon, it's great! I process a lot of data with it, currently sitting at 1800 jobs/minute. I made a big NOOB error when I started by passing the data to be processed into the job itself, which was occasionally multi-megabytes. This worked fine most of the time but if anything went wrong, the multiple job attempts plus storage of errors meant it quickly filled up the memory and made the problem catastrophic! It also made the horizon dashboard sluggish and fail, as it tried to show me the multi-megabyte data in each job attempt. The solution: Store the data separately, either on disk, DB or in Redis, and pass only an ID or reference to the data into the job. Then Horizon will fly.
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 25 күн бұрын
Great comment, working at a similar scale and found this myself. In my case nested eager-loaded relationships were the usual explanation. Just pass a model ID to the job, then load the model from the DB in handle(). This also ensures you’re using the most up-to-date model instance at runtime too!
@rodjenihm
@rodjenihm 26 күн бұрын
Cool how Laravel has 1st class support for everything you need. Unlike some other popular frameworks where you need dozen 3rd party SaaS providers.
@brianmmdev
@brianmmdev 26 күн бұрын
Not a Laravel dev, but still enjoy learning about the ecosystem from Aaron. Nice work!
@seniorbrusko
@seniorbrusko 12 күн бұрын
I'm not sure if you covered this already but would love to have a short video of your streaming setup :)
@maxcelosdev
@maxcelosdev 26 күн бұрын
You should be doing the official Laravel channel videos
@griebel11
@griebel11 27 күн бұрын
These are awesome video's to help people get to see some of the cool sides of modern PHP development options. I have been using Laravel since version 3 and the whole ecosystem has come so far. Thank you for making this series.
@FarazSamapoor
@FarazSamapoor 27 күн бұрын
Keep up the excellent work, Aaron! I don't care what topic it is, I just know that I need MORE!
@SimoneFolador
@SimoneFolador 27 күн бұрын
Thanks Aaron! Great video, i really like this format. Can't wait for the next one!
@justinclarketx
@justinclarketx 27 күн бұрын
Sweet intro! Never checked out Horizon before, thanks for the overview.
@karansmittal
@karansmittal 27 күн бұрын
You explanations make the topics more interesting.
@umairsaeed5925
@umairsaeed5925 27 күн бұрын
This series keep interesting more and more ❤
@ahmad-murery
@ahmad-murery 27 күн бұрын
Interesting!, Now we need a video explaining Laravel Jobs😁 Thanks Aaron! C-Ya
@AbdullaMalik
@AbdullaMalik 27 күн бұрын
Love every single one of your video ❤, please keep it up
@markup100
@markup100 27 күн бұрын
Why there is no comprehensive and up to date laravel course that shows how to build an API? We don't need intertia, fullstack, htmlx, blade, just API, like in 99% of companies.
@mysterio7385
@mysterio7385 27 күн бұрын
thats basically 1 page of the official documentation
@med.brunofreire
@med.brunofreire 27 күн бұрын
I love Laravel, except the new trend of make it “Blade first”… We do not need a full stack PHP, we need a good API
@Redheadtama1
@Redheadtama1 27 күн бұрын
Laracasts have just done a Laravel API Masterclass
@aarondfrancis
@aarondfrancis 27 күн бұрын
Laracasts probably has that! Let me know what's missing and I might be able to fill it in
@tinusg
@tinusg 26 күн бұрын
“We” do need fullstack Laravel. “You” may not.
@tmarsha4
@tmarsha4 27 күн бұрын
I was anxiously awaiting for you to click the Live update button in the top right hand corner :)
@UltraDraft
@UltraDraft 27 күн бұрын
Thank you Aaron! Great video. btw what font do you use for the terminal?
@aarondfrancis
@aarondfrancis 27 күн бұрын
JetBrains Mono!
@Frank-ou2nr
@Frank-ou2nr 27 күн бұрын
Amazing video as always! Great details and examples. By the way Aaron, which editor do you use? It looks nice and clean.
@aarondfrancis
@aarondfrancis 27 күн бұрын
A pretty customized PHPStorm!
@Frank-ou2nr
@Frank-ou2nr 26 күн бұрын
@@aarondfrancis Awesome! I work with PHPStorm every day and did not recognize it at all.
@nihirzala
@nihirzala 25 күн бұрын
Awsome Intro
@sean_reyes
@sean_reyes 27 күн бұрын
Pulse or Reverb next?
@ComfyCosi
@ComfyCosi 23 күн бұрын
Real lenses in your glasses yayyyyyh
@aarondfrancis
@aarondfrancis 19 күн бұрын
A real OG here
@isaachatilima
@isaachatilima 27 күн бұрын
Out of topic. Is there a plan to work with jwt tokens for authentication with api?
@pepeka1772
@pepeka1772 23 күн бұрын
Hi! How's it going? Is it possible to allow special characters on Laravel ( password creation ).
@gadgetboyplaysmc
@gadgetboyplaysmc 26 күн бұрын
What terminal font do you use? It looks breathtaking.
@aarondfrancis
@aarondfrancis 25 күн бұрын
I think it's just jetbrains mono
@SickBeard
@SickBeard 27 күн бұрын
1:31 Both Sidekiq and Oban are free and open source. They do have paid addon features, but these are strictly addons to the core functionality.
27 күн бұрын
A better comparison for Horizon would be Sidekiq Pro IMO!
@jonkf7548
@jonkf7548 27 күн бұрын
I have used Laravel Horizon for years and it's even been a deciding factor for bringing Laravel into a project. That said, I still don't get why the environment setup is so overy complicated and hard-coded into to config/horizon.php file. If I have 3 or 4 environments and need to scale up or down the worker limits on one of them then I would rather just update the .env file for that server than push a commit with per-server/environment logic...
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 25 күн бұрын
You can do this easily! Just call env() within your Horizon config file. Then you can vary your configuration per-instance in the way you’d expect.
@jonkf7548
@jonkf7548 24 күн бұрын
@@rcnhsuailsnyfiue2 yes that’s my preference but that’s not the documented /recommended way to do it. Docs show a big array of repeated hardcoded values per environment, rather than simply setting your own values per queue in the .env file which seems more logical to me
@nimmneun
@nimmneun 7 күн бұрын
​@@jonkf7548the hard coded configs are just fallbacks/defaults and an example of what can be configured. The env() calls should be telling enough to hint at the fact, that they are meant to be overridden by the actual environment variables in your systems.
@Metruzanca
@Metruzanca 27 күн бұрын
Gonna be honest, don't really care for Laravel. But anything that Aaron Francis makes deserve consideration. Probably one of the best "dev evangelist"-type channels.
@aarondfrancis
@aarondfrancis 26 күн бұрын
Gah that rules. Thanks for telling me
@neeshsamsi
@neeshsamsi 3 күн бұрын
How are you creating the horizon.test url? Silly take away out of this entire video but I am really curious
@aarondfrancis
@aarondfrancis 3 күн бұрын
That's a feature of Laravel Herd
@philipjamesajagabos2519
@philipjamesajagabos2519 26 күн бұрын
Laravel Horizon, Larave Telescope 😂, Laravel continues to keep me in it's ecosystem. Everything is just available for you.
@Kane0123
@Kane0123 27 күн бұрын
Laravel Horizon. The point at which you cross over to coding PHP with no hope of returning. You become increasingly redshifted until you simply vanish from sight.
@bambamboole1
@bambamboole1 25 күн бұрын
Is there actually a proper concept for horizontally scaling?
@aarondfrancis
@aarondfrancis 25 күн бұрын
You can just add more machines working the queues
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 25 күн бұрын
Spin up a copy of your app on another machine in the same data center/hosting region. No need to handle frontend requests, this copy only needs access to your central Redis database, and therefore can process queued jobs like any other copy of your application. Horizon will automatically assign jobs to workers, both multiple workers on one machine, or across workers on multiple machines. Horizontal scaling is simply a case of spinning up more instances of your app.
@aarondfrancis
@aarondfrancis 25 күн бұрын
@@rcnhsuailsnyfiue2 exactly correct! Thanks for the better explanation!
@Cool_Goose
@Cool_Goose 27 күн бұрын
Did this broaden your horizon?
@aarondfrancis
@aarondfrancis 27 күн бұрын
I see what you did there!
@Cool_Goose
@Cool_Goose 26 күн бұрын
@@aarondfrancis dad jokes 101
@ajzack983
@ajzack983 27 күн бұрын
Waiting for the what is the laravel php artisan optimize:clear command 😂
@yezperdk
@yezperdk 26 күн бұрын
I think there's a typo in the e-mail address you give in the video. Mails keep bouncing!
@aarondfrancis
@aarondfrancis 26 күн бұрын
Hmmm that doesn't seem right
@michailgiannopoulos5274
@michailgiannopoulos5274 27 күн бұрын
Great video but Redis became source-available now, open-source no more :(
@aarondfrancis
@aarondfrancis 27 күн бұрын
That doesn't affect us though right? Just companies trying to resell Redis?
@michailgiannopoulos5274
@michailgiannopoulos5274 26 күн бұрын
@@aarondfrancis Exactly that Aaron.
@gilneyn.mathias1134
@gilneyn.mathias1134 27 күн бұрын
if only it worked on windows... ¯\_(ツ)_/¯
@aarondfrancis
@aarondfrancis 27 күн бұрын
Bummer!
@IbrahimIsmail98
@IbrahimIsmail98 27 күн бұрын
we hope that PHP team add the pcntl extension to windows :D
@gilneyn.mathias1134
@gilneyn.mathias1134 26 күн бұрын
@@IbrahimIsmail98 yeah, yeah, i know... I use Horizon on my current job and i have not to really complain, this was just more of a wish... 🥲
@nimmneun
@nimmneun 9 күн бұрын
WSL FTW 🎉
Laravel Pennant: first-party feature flags
14:21
Aaron Francis
Рет қаралды 2,9 М.
Laravel's secret weapon: macros (watch me code)
23:46
Aaron Francis
Рет қаралды 17 М.
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 20 МЛН
100😭🎉 #thankyou
00:28
はじめしゃちょー(hajime)
Рет қаралды 56 МЛН
КАКОЙ ВАШ ЛЮБИМЫЙ ЦВЕТ?😍 #game #shorts
00:17
What is Laravel Octane?
8:34
Aaron Francis
Рет қаралды 28 М.
Top 5 Laravel "Bad Practices" (My Opinion)
10:32
Laravel Daily
Рет қаралды 17 М.
5 Alternatives to Planetscale
3:58
Karthik Nooli
Рет қаралды 1,3 М.
Make faster outbound requests with Laravel (10x faster, actually)
5:28
PHP is the future
34:27
Aaron Francis
Рет қаралды 164 М.
You don't need a frontend framework
15:45
Andrew Schmelyun
Рет қаралды 89 М.
Laravel TALL vs VILT Stack: Explained with Examples
12:38
Laravel Daily
Рет қаралды 10 М.
Laravel + Livewire todo app (and so much more)
16:41
Aaron Francis
Рет қаралды 28 М.
Dynamic Components in Vue
14:30
Alexander Lichter
Рет қаралды 4,4 М.
ТИПЫ людей , когда попросили ПОДЕЛИТЬСЯ 😂 #школа #прикол
0:37
DINOSAURS ATTACKED AT THE POOL #shorts #netflixpartner
1:01
The McCartys
Рет қаралды 12 МЛН