Comment

Comment by elliotec

Rails 8's default Active Job backend is solid_queue. It lives in the same single Postgres as everything else (including solid_cache). No Redis or anything to have to wrangle. Recurring scheduling is built in. Another big plus for using Rails for this.

As I understand, it uses Postgres's "FOR UPDATE SKIP LOCKED" job claim feature. I don't run most jobs concurrently because they need to build on each other. Postgres advisory locks sit on top for mutual exclusion and solid_queue handles queuing. It's akin to good_job which is the pg-native thing from before solid_queue existed, but I just stuck with the easy Rails default and this is the first time I've even thought to remember how it works.

parent elliotec 2 months ago

No comments yet

Be the first to share your thoughts.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton