4 ms·
very interesting and TIL about the project, thanks for sharing. What DB is River Queue for 46k jobs/sec (https://riverqueue.com/docs/benchmarks https://riverque
by shayonj 1y ago
very interesting and TIL about the project, thanks for sharing. What DB is River Queue for 46k jobs/sec (https://riverqueue.com/docs/benchmarks https://riverqueue.com/docs/benchmarks)
UPDATE: I see its PG - https://riverqueue.com/docs/transactional-enqueueing https://riverqueue.com/docs/transactional-enqueueing
- shayonj 1y agoIIUC - Does this mean if I am making a network call, or performing some expensive task from within the job, the transaction against the database is held open for the duration of the job?
- bgentry 1y agoDefinitely not! Jobs in River are enqueued and fetched by worker clients transactionally, but the jobs themselves execute outside a transaction. I’m guessing you’re aware of the risks of holding open long transactions in Postgres, and we definitely didn’t want to limit users to short-lived background jobs. There is a super handy transactional completion API that lets you put some or all of a job in a transaction if you want to. Works great for making other database side effects atomic with the job’s completion. https://riverqueue.com/docs/transactional-job-completion https://riverqueue.com/docs/transactional-job-completion
- shayonj 1y agovery nice! cool project