logoalt Hacker News

KraftyOneyesterday at 8:21 PM1 replyview on HN

The key is that the UDF's enqueue is transactional with the database update. Let's say the database update is inserting a new order. This provides the guarantee that if a new order is inserted, a job to process the order is also enqueued. It's impossible for a new order to be inserted without its processing job also being enqueued. Then the durable workflow/queue system is responsible for making sure the processing job, once enqueued, actually executes.


Replies

LgWoodenBadgeryesterday at 10:18 PM

And if that job never runs? Or if that job runs and then fails to commit that it ran in postgres?

show 1 reply