---
title: "Scaling Sidekiq with gusto"
publication: "Ruby Weekly"
issue: 615
published_at: "2022-08-04"
canonical_url: "https://rubyweekly.com/issues/615"
---

Plus procs vs lambdas, running an app entirely on one server, and a new TOML parsing library. |        

#​615 — August 4, 2022 

[Read on the Web](https://rubyweekly.com/issues/615) 🇺🇦   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/pro5oi7ttqzcyv0xh5t8.jpg)](https://engineering.gusto.com/scaling-sidekiq-at-gusto/)  

[Scaling Sidekiq at Gusto](https://engineering.gusto.com/scaling-sidekiq-at-gusto/) — The popular background job processing system is almost everywhere these days, so you might find it useful to learn how one team at a large payroll service went about cutting costs and reducing latency. 

Kelly Sutton   

[The Four Stages of Testing That Help Your Focus](https://naildrivin5.com/blog/2022/08/04/the-four-stages-of-testing-that-help-your-focus.html) — The esteemed author of numerous Ruby and Rails books reflects on a way to simplify your thinking around tests – they’re either in one of three failure stages, or they work (but even then you need to think about how that became the case!) 

David Bryant Copeland   [![\](https://copm.s3.amazonaws.com/7ce702e2.png)](https://dashboard.redisgreen.net/rubyweekly) 

[RedisGreen: Secure, Scalable, Full-Featured Redis 7 Hosting](https://dashboard.redisgreen.net/rubyweekly) — The latest Redis features, instrumented and scaled with the tools teams need as they grow. 

RedisGreen sponsor   

[Faraday 2.4: A Flexible HTTP Client Library](https://github.com/lostisland/faraday) — I’m still on team [http.rb](https://github.com/httprb/http) for my HTTP client work, but Faraday is a very compelling alternative ([example usage](https://lostisland.github.io/faraday/usage/)) as it takes a higher level approach in offering a common interface [over many adapters](https://github.com/lostisland/awesome-faraday/#adapters) and embraces the concept of middleware for processing the request/response cycle. 

Olson, Hobson, et al.   

[Connecting a Rails App with React in a Monolith](https://blog.appsignal.com/2022/08/03/connect-a-ruby-on-rails-app-with-react-in-a-monolith.html) — To me it often feels like worlds are colliding when working with Ruby apps that use JavaScript frontend frameworks. Two languages, two ecosystems, but ultimately one app. Paweł breaks down a Rails⇿React integration approach here and touches on some alternatives too. 

Paweł Dąbrowski   

**Quick Bits:** 

- _Gitea_ is a popular, lightweight, Go-powered, GitHub-a-like git forge and [its newly release version](https://blog.gitea.io/2022/07/gitea-1.17.0-is-released/) has added a package registry feature that supports serving up RubyGems.
- Is the future just sticking your entire app [on one big server](https://specbranch.com/posts/one-big-server/) with 64+ cores and terabytes of RAM?  

📖 Articles, Stories & Videos  

[The Difference Between Procs and Lambdas in Ruby](https://www.codewithjason.com/the-difference-between-procs-and-lambdas-in-ruby/) — A short and sweet reminder of the, often subtle, differences. 

Jason Swett   

[How to Take Screenshots from Rails Apps](https://www.urlbox.io/website-screenshots-rails) — Covers four options: Puppeteer with Goover, Cloudinary with URL2png, html2canvas, and Urlbox (the source of the article). 

Corinn Pope   

[Sidekiq and Request-Specific Context](https://www.mikeperham.com/2022/07/29/sidekiq-and-request-specific-context/) — Sidekiq 6.3 added support for `ActiveSupport::CurrentAttributes` to allow you to access [global per-request attributes](https://fullstackheroes.com/tutorials/rails/current-attributes/) during your jobs. 

Mike Perham   

[The Professional Network Designed and Built for Developers](https://www.polywork.com/product/software-engineers?utm_source=newsletter&utm_medium=cooperpress&utm_campaign=ruby2) 

Polywork sponsor   

[Using Sorbet and Tapioca with Rails](https://zachahn.com/posts/1659397378) — Two desserts I wouldn’t want together in real life, but which can make life sweeter if you’re on the [Sorbet](https://sorbet.org/) type-checking train. Tapioca is now the [recommended way](https://sorbet.org/blog/2022/07/27/srb-tapioca) to generate RBIs for Sorbet (replacing `srb rbi`). 

Zach Ahn   

▶[Five Secrets to Getting Your First Rails Job](https://www.youtube.com/watch?v=UGWwrtj5k4M) — If you’re at the start of your Ruby and Rails-oriented career, this is a handy and encouraging resource from someone with plenty of experience. 

Joe Masilotti   

[How to Bulk Insert Nested Attributes in Rails](https://keygen.sh/blog/how-to-bulk-insert-nested-attributes-in-rails/) 
Keygen  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/r7xozizu3ovgm4daw0tz.jpg)](https://github.com/kgiszczak/tomlib)  

[Tomlib: Fast, Standards-Compliant TOML Parser and Generator](https://github.com/kgiszczak/tomlib) — [TOML](https://toml.io/en/) (named after inventor Tom Preston-Werner) is a simple config file format that’s reminiscent of INI, but better. This library boasts [big performance wins](https://github.com/kgiszczak/tomlib/tree/master/benchmarks) against existing Ruby options. 

Kamil Giszczak   

[NaturalDSL: An Experimental DSL for Building DSLs](https://github.com/DmitryTsepelev/natural_dsl) — How meta! To be fair, the creator says this is currently “highly likely useless” but [the example](https://github.com/DmitryTsepelev/natural_dsl#naturaldsl) was interesting enough to catch my eye. A step too far? Perhaps. 

Dmitry Tsepelev   

[Fixed Price Monthly Code Maintenance for Rails Apps](https://reinteractive.com/) — No time to do those small, but critical updates to improve your app? CodeCare will take care of necessary tweaks, bug fixes, upgrades and ongoing improvements. 

reinteractive Pty Ltd sponsor   

[HexaPDF 0.24.0: PDF Creation and Manipulation Library](https://hexapdf.gettalong.org/news/2022/hexapdf-0-24-0.html) — The focus in this release is on document layout. There’s also new support for creating column and list boxes – see the screenshots here for examples. _Note: AGPL licensed, with commercial options available._ 

Thomas Leitner   

[Comma 4.7: CSV Generation Extension for Ruby Objects](https://github.com/comma-csv/comma) — Define an output format in a basic DSL then easily create CSV from arrays, Active Record objects, etc. [Example code here](https://github.com/comma-csv/comma/wiki). 

Marcus Crafter   

[Grover: Transform HTML into PDFs, PNGs or JPEGs](https://github.com/Studiosity/grover) — Worth a look for the fantastic ‘logo’ alone 😆 

Studiosity   

[validates_email_format_of: Validate Email Addresses Against RFC 2822 and RFC 3696](https://github.com/validates-email-format-of/validates_email_format_of) 
Alex Dunae   

**⚡️ QUICK RELEASES:** 

[Liquid 5.4](https://github.com/Shopify/liquid) – Popular templating approach.
 [Octokit.rb 5.2](https://github.com/octokit/octokit.rb) – Ruby toolkit for the GitHub API.
 [Stripe Ruby 7.0](https://github.com/stripe/stripe-ruby) – Stripe API library. ([Migration guide.](https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v7))
 [Rouge 3.30](https://github.com/rouge-ruby/rouge) – Pure Ruby code/syntax highlighter.     

Jobs  

[TravelJoy | Engineer #9 | Full-Stack | Remote in USA | Full-Time](https://join.tjoy.io/rw-eng9) — TravelJoy is the market network for leisure travel. Thousands of travel agents love and depend on our product every day. 
TravelJoy - Bring the joy back into travel planning   

[Senior Ruby on Rails Backend Engineer - Integrations](https://apply.workable.com/leadfeeder/j/09A43DF4EA/) — Are you a self-starter looking to learn and grow? We are hiring around the world to strengthen our rapid growth. Join our journey. 
Leadfeeder   

[Find Ruby Jobs Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired           

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom   

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
