frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Show HN: Sidequest.js – Background jobs for Node.js using your database

https://docs.sidequestjs.com/quick-start
42•merencia•7h ago
Hey HN,

I'm the maintainer of node-cron (5M+ downloads/month), and I recently built Sidequest.js, a background job runner for Node.js inspired by Oban (Elixir) and Sidekiq (Rails).

It solves some common problems I saw with libraries like node-cron:

- Jobs don’t block your API: they run in isolated worker threads

- No Redis or vendor lock-in: use Postgres, MySQL, SQLite, or MongoDB

- Supports retries, uniqueness, concurrency, snoozing, prioritization

- Comes with a CLI and a simple dashboard

- Works great in monoliths and doesn’t require extra infra

Quick start (no signup needed): https://docs.sidequestjs.com/quick-start

GitHub: https://github.com/sidequestjs/sidequest

Would love feedback or feature suggestions. Happy to answer any questions here!

Comments

MutedEstate45•3h ago
Really like your approach of using existing Postgres/MySQL instead of dragging in Redis. It feels genuinely drop-in, but still Sidekiq-class. I know it's a bit early to ask about production patterns, but I was curious: if the worker thread flood hits the same Postgres that serves the web API, how do the job-fetch queries avoid contending with OLTP traffic? Does Sidequest follow Oban's advisory-lock approach or use a different throttling strategy?
giovaniguizzo•3h ago
Hello! One of the creators of Sidequest here.

Great question!

Sidequest uses transaction-level row locks (`SELECT ... FOR UPDATE SKIP LOCKED`) when fetching jobs. This means each worker thread only locks the specific job rows it’s about to process, minimizing lock contention and avoiding blocking other queries. This pattern is inspired by Oban’s advisory-lock approach, but instead of using explicit advisory locks, Sidequest relies on the database’s built-in row locking mechanism.

The only drawback is that Sidequest will require one or two connections to your DB. If you enqueue jobs from within other jobs, then each job that requests an enqueue will also connect to your DB (lazily connected upon request - if your job does not enqueue, no connection is created). However, you can configure the number of concurrent workers per queue and globally, so you control how much load Sidequest puts on your database.

I hope that answers your question :)

MutedEstate45•2h ago
Thanks for the clarification. That's a clean approach. I just stared your repo. Looking forward to seeing where sidequest.js goes :)
mousetree•3h ago
I'm a big fan of ActiveJob in Rails. I was considering building a version inspired by it in Node but now it looks like I don't have to. Thank you for building this.
hersko•3h ago
This looks really cool.
nip•2h ago
Looks really neat! Starred on GitHub!

If you have heard of pg-boss [1], how does sidequest compare to it? I’m about to embark on some « jobification » on some flows and I’d love to have your opinion (possibly biased, but still)!

[1] https://github.com/timgit/pg-boss

merencia•1h ago
Thanks for the question! I just checked out pg-boss. Solid library if you're fully on Postgres. Sidequest.js takes a broader and more flexible approach. Key differences:

Database agnostic: Sidequest isn't tied to Postgres. It also works with MySQL, MongoDB, and SQLite, which helps if your stack isn’t Postgres-based.

Job isolation: Jobs run in worker threads, so heavy tasks won’t block your main Node.js process. Express APIs stay responsive.

Distributed coordination: Designed to run across multiple instances. One node picks up the job, and if it fails, another can retry. This is built-in.

Built-in dashboard: Includes a web UI to inspect, retry, or cancel jobs.

More than queues: Supports cron jobs, uniqueness constraints, per-queue concurrency, and configuration. Some of this overlaps with pg-boss, but the intent behind Sidequest is to provide a complete solution for job processing.

If you just need simple queues in a Postgres-only setup, pg-boss is great. If you want more flexibility, tooling, and backend options, Sidequest may be a better fit.

drewbitt•2h ago
https://github.com/timgit/pg-boss https://github.com/hatchet-dev/hatchet are both on top of Postgres, but I like the SQLite here for a project I have in mind.
giovaniguizzo•11m ago
Nice to know SQLite will be useful. Just be mindful that SQLite does not work well in highly concurrent systems. So, if you have a single job runner process, it will work wonderfully. However, if you have many workers, then you might see a few issues.
kristianc•1h ago
I'm not sure I follow with the LGPL requirement.. how do you envision downstream users complying with the relinking requirement, particularly in cases where Sidequest is orchestrating jobs across tightly-coupled backend infrastructure?

Show HN: I spent 6 years building a ridiculous wooden pixel display

https://benholmen.com/blog/kilopixel/
640•benholmen•7h ago•94 comments

Is It FOSS?

https://isitreallyfoss.com/
63•exiguus•2h ago•11 comments

Qwen-Image: Crafting with native text rendering

https://qwenlm.github.io/blog/qwen-image/
247•meetpateltech•7h ago•73 comments

NASA's Curiosity picks up new skills

https://www.jpl.nasa.gov/news/marking-13-years-on-mars-nasas-curiosity-picks-up-new-skills/
76•Bluestein•4h ago•24 comments

AWS European Sovereign Cloud to be operated by EU citizens

https://www.aboutamazon.eu/news/aws/aws-european-sovereign-cloud-to-be-operated-by-eu-citizens
44•pulisse•2h ago•35 comments

How we made JSON.stringify more than twice as fast

https://v8.dev/blog/json-stringify
132•emschwartz•9h ago•22 comments

What Does One Billion Dollars Look Like?

https://whatdoesonebilliondollarslooklike.website/
21•alexrustic•1h ago•13 comments

Indian Sign Painting: A typeface designer's take on the craft

https://bl.ag/indian-sign-painting-a-typeface-designers-take-on-the-craft/
100•detaro•2d ago•16 comments

Content-Aware Spaced Repetition

https://www.giacomoran.com/blog/content-aware-sr/
60•ran3000•3h ago•15 comments

Show HN: I've been building an ERP for manufacturing for the last 3 years

https://github.com/crbnos/carbon
5•barbinbrad•1h ago•0 comments

Job-seekers are dodging AI interviewers

https://fortune.com/2025/08/03/ai-interviewers-job-seekers-unemployment-hiring-hr-teams/
474•robtherobber•15h ago•728 comments

EconTeen – Financial Literacy Lessons and Tools for Teens

https://econteen.com/
4•Chrisjackson4•20m ago•1 comments

Hiroshima (1946)

https://www.newyorker.com/magazine/1946/08/31/hiroshima
25•pseudolus•2d ago•17 comments

OpenIPC: Open IP Camera Firmware

https://openipc.org/à
180•zakki•3d ago•105 comments

Once a death sentence, cardiac amyloidosis is finally treatable

https://www.nytimes.com/2025/08/04/well/cardiac-amyloidosis.html
74•elektor•3h ago•2 comments

Cellular Starlink expands to support IoT devices

https://me.pcmag.com/en/networking/31452/spacexs-cellular-starlink-expands-to-support-iot-devices
57•teleforce•3d ago•38 comments

DrawAFish.com Postmortem

https://aldenhallak.com/blog/posts/draw-a-fish-postmortem.html
220•hallak•11h ago•52 comments

How we built Bluey’s world

https://www.itsnicethat.com/features/how-we-built-bluey-s-world-cartoon-background-scenery-art-director-catriona-drummond-animation-090725
299•skrebbel•3d ago•136 comments

Perplexity is using stealth, undeclared crawlers to evade no-crawl directives

https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/
900•rrampage•9h ago•522 comments

What Can a Cell Remember?

https://www.quantamagazine.org/what-can-a-cell-remember-20250730/
42•chapulin•4d ago•4 comments

A deep dive into Rust and C memory interoperability

https://notashes.me/blog/part-1-memory-management/
127•hyperbrainer•8h ago•57 comments

Customizing tmux

https://evgeniipendragon.com/posts/customizing-tmux-and-making-it-less-dreadful/
75•EPendragon•7h ago•71 comments

My Ideal Array Language

https://www.ashermancinelli.com/csblog/2025-7-20-Ideal-Array-Language.html
109•bobajeff•10h ago•49 comments

Show HN: Sidequest.js – Background jobs for Node.js using your database

https://docs.sidequestjs.com/quick-start
42•merencia•7h ago•10 comments

Read your code

https://etsd.tech/posts/rtfc/
155•noeclement•9h ago•89 comments

Century-old stone “tsunami stones” dot Japan's coastline (2015)

https://www.smithsonianmag.com/smart-news/century-old-warnings-against-tsunamis-dot-japans-coastline-180956448/
124•deegles•10h ago•43 comments

Objects should shut up

https://dustri.org/b/objects-should-shut-the-fuck-up.html
263•gm678•8h ago•201 comments

Show HN: Tiny logic and number games I built for my kids

https://quizmathgenius.com/
66•min2bro•8h ago•25 comments

Is the interstellar object 3I/ATLAS alien technology? [pdf]

https://lweb.cfa.harvard.edu/~loeb/HCL25.pdf
70•jackbravo•10h ago•94 comments

Circadian justice (2022)

https://eprints.lse.ac.uk/112431/
54•anigbrowl•5h ago•21 comments