Background Processing with Rails, Redis and Sidekiq

Поделиться
HTML-код
  • Опубликовано: 16 июн 2024
  • In any non-trivial web application you will get to a point where certain requests take so long to answer that your application will break if you try to respond with a synchronous HTTP response.
    In this case you need to offload the work into a background process and start to build out a slightly more distributed workflow for your backend architecture.
    This screencast is a quick overview of how to build background processes in Rails apps using Redis and Sidekiq, and then deploy the proper infrastructure onto Heroku.
    This is a pattern that is necessary to understand to do any kind of serious web development.
    =========================================================================================
    Source Code: github.com/AlwaysBCoding/Epis...
  • НаукаНаука

Комментарии • 78

  • @1936Dany
    @1936Dany 4 года назад +2

    The production quality is on point, please continue making these mate.

  • @flyinggeese3740
    @flyinggeese3740 7 лет назад +3

    I love how you explain exactly what the deal is regarding synchronous requests, and explain exactly what Sidekiq would be used for. A big problem I have is running into tools and libraries that sound interesting, but I can't exactly figure out what they do, or why they'd help me because of all the jargon that everyone assumes you already know.

  • @hustshawn
    @hustshawn 7 лет назад

    Really enjoy the way u talk the tech points, brief and clear!

  • @jacqueskousteau788
    @jacqueskousteau788 6 лет назад +2

    Great work 💪, nicely encapsulated tutorials on key rails topics. Thank you and please keep the content coming 🙏.

  • @SaiMako19
    @SaiMako19 5 лет назад +1

    Haven't watched the rest yet (only the intro so far) and that was amazing. Thanks!

  • @vdynmx
    @vdynmx 6 лет назад +1

    Dude I love watching this. I'm a beginner and its refreshing how you explain this. keep it up!

  • @GerryStuff
    @GerryStuff 7 лет назад +1

    Great tutorial! I think that the fact that you show your face makes you connect more with viewers, and you're the first web developer with a youtube channel that i've seen doing it. :) Keep it up!

  • @nadaashraf1656
    @nadaashraf1656 5 лет назад +2

    Thank you, this was so informative, probably the best sidekiq tutorial I came across :D

  • @RomeroMeireles
    @RomeroMeireles 7 лет назад +4

    Awesome introduction and coding tutorial! Helped me a lot!

  • @bethanyjohnson7337
    @bethanyjohnson7337 3 года назад +2

    Thank you very much for this. I really appreciated using this resource and it taught me just what I needed. Have a nice day.

  • @Deepakkumar431
    @Deepakkumar431 6 лет назад +1

    Awesome explanation, thanks a lot for showing end to end flow.

  • @sudharsan.ravikumar
    @sudharsan.ravikumar 7 лет назад +7

    Great Explanation. Loved it.

  • @ksjoshi5
    @ksjoshi5 5 лет назад +1

    Thanks a ton, mate, for simplifying this concept for us. Great job.

  • @user-cz2yx4mg6p
    @user-cz2yx4mg6p 3 месяца назад

    Thank you!! I've been having a problem and the worst part is knowing it's running but doesn't know what's the logic error but thanks to the UI, I finally know why it's not doing what I want it to do.

  • @HekaFOF
    @HekaFOF 8 лет назад +36

    Best intro for coding tutorial I have seen! Keep going! More React stuff also as a request :)

    • @huyo1092
      @huyo1092 6 лет назад

      HekaFOF yeah, I love this guy.

  • @cirobessa610
    @cirobessa610 2 года назад +1

    Excellent video! Congratulations, it's clarified me a lot.
    Thank you

  • @ruby-on-rails
    @ruby-on-rails 2 года назад

    Wow, bro! Awesome explanation... Loved it!

  • @DH-di8dt
    @DH-di8dt 3 года назад +1

    This was great, thank you. Keep up the good work!

  • @nachocapuccio
    @nachocapuccio 7 лет назад +2

    Great video man, keep going! greetings from Argentina

  • @JiraiyaGosu
    @JiraiyaGosu 7 лет назад +1

    This is amazing! Keep them coming!

  • @toanlee9227
    @toanlee9227 5 лет назад +1

    You did a great video. Exactly what i'm looking for. Thanks a lot.

  • @m_losch
    @m_losch 7 лет назад +1

    Excellent tutorial, keep up the good work!

  • @pwan3971
    @pwan3971 6 лет назад +2

    Thank you so much, I finally understood more clearly. Thank you so much! :)

  • @n4y33m
    @n4y33m 3 года назад +2

    What a helpful tutorial! Great job!

  • @HeyJoshLee
    @HeyJoshLee 6 лет назад +3

    Fantastic video. Thanks for starting all the way from the beginning and going all the way to production. One question: If I have multiple workers, do I need to put multiple workers in my procfile?

  • @dmitryck
    @dmitryck 7 лет назад +1

    Thank you! Very useful!
    ps. What program do you made slides in this video, and mix all with livecam window?

  • @burugirl93
    @burugirl93 3 года назад +1

    Thank you for a clear explanation! 👏👏

  • @truba4ev
    @truba4ev 7 лет назад +1

    Nice screencast, thanks a lot!

  • @sameraw4307
    @sameraw4307 6 лет назад +1

    Subscribed! Nice stuff man!

  • @muralishclinton902
    @muralishclinton902 3 года назад

    Great stuff man! Useful even in 2021

  • @aylanismello
    @aylanismello 7 лет назад +2

    so helpful man, thanks a bunch!

  • @DaKevMAN100
    @DaKevMAN100 Год назад

    Yo Jordan, great video. I was curious why you didn't need to start a redis server on heroku, and just a sidekiq one? Does the redis gem take care of that for us?

  • @huyo1092
    @huyo1092 6 лет назад +2

    enjoying your video, really appreciate.

  • @gorkxs
    @gorkxs 7 лет назад

    The best so far. Much respect

  • @developerfoe
    @developerfoe Год назад

    much much good tutorial ... explained perfectly

  • @useyourbrain1232
    @useyourbrain1232 3 года назад +1

    Thanks a ton for this video! Does this need a paid account for Heroku? Or can an app run multiple dynos for these web and worker processes with the free version?

  • @LaichuTV
    @LaichuTV 2 года назад

    Thank you sooooo much. Your video really save my day🙏

  • @pging8328
    @pging8328 4 года назад

    that was awesome. that was awesome. thanks for the tutorial.

  • @SaumyaJain-uu7dl
    @SaumyaJain-uu7dl 6 месяцев назад

    Amazing Explanation !!

  • @1989arto
    @1989arto 7 лет назад +3

    Great tutorial!

  • @zenx639
    @zenx639 2 года назад

    Great job! Thanks for that.

  • @005JR8
    @005JR8 6 лет назад

    great explanation thanks ..please make some video on how ajax requests works

  • @hoacao4595
    @hoacao4595 7 лет назад +1

    Thank you! very helpful!

  • @andrewhenriquef
    @andrewhenriquef 6 лет назад

    Nice explanation!

  • @vijaykmeena
    @vijaykmeena 4 года назад

    Great video tutorial. Thanks

  • @blazechat
    @blazechat 7 лет назад

    Gret work. Thanks a lot!

  • @romenigld
    @romenigld 7 лет назад +1

    Nice bro, thank's!!

  • @andremenezes4384
    @andremenezes4384 Год назад

    Amazing video 👏

  • @EnriqueSalceda
    @EnriqueSalceda 7 лет назад

    AWESOME VIDEO!!! THUMBS UP!!!

  • @Stormycat
    @Stormycat 5 лет назад

    Great tutorial thanks!

  • @in77abhishek
    @in77abhishek 6 лет назад

    Thank you for the video.

  • @u2lover10
    @u2lover10 2 года назад

    thank you for this video!

  • @hadadbwenge2073
    @hadadbwenge2073 4 года назад

    Best intro ever!

  • @davosonic60
    @davosonic60 6 лет назад +1

    Hey, great video! I had to learn from LOTS of different places this very same information that you just put into one video, good job!
    From my own experience, I had to move from RedisToGo to RedisCloud (also free) because I kept getting a Max number of connections reached error. Looks like RedisCloud offers 30 connections and for some reason my simple email worker created up to 27 connections.
    So bottom line: can you make a video about configuring your application/ job back-end/ Heroku so that you can get optimal number of connections? That's the only piece of information I just couldn't get and looks like the default configuration wasn't helping.
    Thanks again,
    David

  • @superslash946
    @superslash946 2 года назад

    Truly good video

  • @riansyahtohamba8215
    @riansyahtohamba8215 6 лет назад

    Thanks for explanation

  • @remusomega
    @remusomega 7 лет назад

    If I'm doing this in the context of a ReactApp, is there a NodeJS approach for doing this? If so, is there a reason to opt for the Rails approach instead?

  • @Theschnaz21
    @Theschnaz21 5 лет назад

    Really good!

  • @parmanugaming284
    @parmanugaming284 6 лет назад

    Hi please can you do a video to integrate clockwork or whenever gem.with sideqik
    Basically wan to configure Cron schedule with the rails app

  • @kevindebruyne17
    @kevindebruyne17 6 лет назад

    Really nice intro

  • @AlexanderFarley
    @AlexanderFarley 3 года назад +1

    Bundling Sinatra appears to be no longer necessary; I can access the Sidekiq UI out of the box

  • @HeyJoshLee
    @HeyJoshLee 6 лет назад

    Also, why wouldn't I want to move everything to a background job? Besides the extra code.

  • @rakeshjoshi3720
    @rakeshjoshi3720 2 года назад

    Thank you brother your
    best

  • @NikisNow-
    @NikisNow- 2 года назад

    @decipherMedia or @anyone
    Please answer this,
    Question:
    But once the report is generated how do you return it back to the client? How does a background job still Fulfil the clients needs? Any idea how to come around this?

  • @binodrayee
    @binodrayee 6 лет назад +1

    I never did coding on Ruby even though it is easier to get overall overview on Sidekiq.

  • @pupdoggify
    @pupdoggify 4 года назад +1

    But you don't show how to access the report once it's generated! Not to mention that multiple users can generate multiple reports, each with different parameters...how are they supposed to view their reports once the associated background job is completed?

  • @jepkofficial
    @jepkofficial 4 года назад +1

    This entire video can be fulfilled with a single go-routine in Go.

  • @krsingh.shubham
    @krsingh.shubham 2 года назад

    nice tutorial

  • @vitalinavakulchyk4467
    @vitalinavakulchyk4467 4 года назад

    Thank you!!

  • @graffist448
    @graffist448 5 лет назад

    "This youtube channel is about to BLOW THE FUCK UP" lmfao - but yeah this video was awesome, thank you for creating! ONE QUESTION/SUGGESTION... It would be helpful to make a list of common scenarios and how to set up threads to process those scenarios properly. For example. Simple Scenario: "Creating a user/report (like this video explains)", Heavy Duty Scenario: "Scheduling 20 drip emails when a user opts-in at scale at 100 user opt-ins per minute"

  • @hyejinahn2898
    @hyejinahn2898 6 лет назад

    nice intro!

  • @weichengzhu8266
    @weichengzhu8266 7 лет назад

    awesome!

  • @vulpixelful
    @vulpixelful 2 года назад

    You didn't show how to access the message from the queue (aka retrieve the report). That's the reason real apps need to use sidekiq with redis to begin with.

  • @Andy-ms8ry
    @Andy-ms8ry 8 лет назад

    Make it happen!

  • @azero79
    @azero79 8 лет назад +1

    Very educative, as usual, thanks for the video.
    Can I make a request for Angular 2/Rails 5 tutorial, with best practices, running and deploying to production environments.
    I was thinking about something like a simple Angular 2 CRUD app with a REST Client running on a simple stand alone web server, and a Rails 5 backend server in --api mode, handling the requests of the NG2 app, the ideal would be to make them communicate securely with something like jwt? involving action cable would be a huge plus. What do you think? I'll make a diagram once i get home, and now that I have more free time, I'll finally start working on a proof of concept, hit me up of interested, we could build this together.

  • @SebastianAcostaCheca
    @SebastianAcostaCheca 4 года назад

    isbit.mx