| ▲ | faxmeyourcode 2 hours ago | |||||||||||||
I aggree - I'm not understanding the value of the project either if you look at the example here https://github.com/microsoft/pg_durable/blob/main/examples/i... It's an interesting technical achievement I guess, but it's very bizarre to try and read this | ||||||||||||||
| ▲ | rswail 2 hours ago | parent | next [-] | |||||||||||||
Without reading any of the doco, it appears to be a job definition called invoice-approval-pipeline that runs every 5 seconds. The steps are: 1. Get all the pending invoices 2. Set their state to "processing" 3. Call out to an external service/process to do the actual processing, wait for a response. 4. If the response is OK, do something 5. Wait 5 seconds and then start again. Not sure I love the syntax and the way SQL is embedded between the $$ But it is in the database, can be updated and modified in the same way as all the other stored procedures/functions, allows job control, I assume other control structures for parallel steps etc. Gonna go read the doco now. | ||||||||||||||
| ||||||||||||||
| ▲ | gdecandia 2 hours ago | parent | prev [-] | |||||||||||||
Contributor here - at Microsoft we've built AI workflows on pg_durable and seen it substantially reduce code and increase reliability. Agree that the DSL ergonomics can be improved. Our pipelines use a higher level language and therefore simplified, but pg_durable is meant to solve a wider array of problems. We're happy to take suggestions for improvements. | ||||||||||||||
| ||||||||||||||