▲ | jumploops 5 days ago | ||||||||||||||||
I've been looking at migrating to Temporal, but this looks interesting. For context, we have a simple (read: home-built) "durable" worker setup that uses BullMQ for scheduling/queueing, but all of the actual jobs are Postgres-based. Due to the cron-nature of the many disparate jobs (bespoke AI-native workflows), we have workers that scale up/down basically on the hour, every hour. Temporal is the obvious solution, but it will take some rearchitecting to get our jobs to fit their structure. We're also concerned with some of their limits (payload size, language restrictions, etc.). Looking at DBOS, it's unclear from the docs how to scale the workers: > DBOS is just a library for your program to import, so it can run with any Python/Node program. In our ideal case, we can add DBOS to our main application for scheduling jobs, and then have a simple worker app that scales independently. How "easy" would it be to migrate our current system to DBOS? | |||||||||||||||||
▲ | mnahkies 5 days ago | parent | next [-] | ||||||||||||||||
As another commentator said, temporal is quite tricky to self host/scale in a cost effective manner. This is also reflected in their cloud pricing (which should've been the warning sign to us tbh) Overall it's a pretty heavy/expensive solution and I've come to the conclusion it's usage is best limited to lower frequency and/or higher "value" (eg: revenue or risk) tasks. Orchestrating a food delivery that's paying you $3 of service fees - good use case. Orchestrating some high frequency task that pays you $3 / month - not so good. | |||||||||||||||||
| |||||||||||||||||
▲ | KraftyOne 5 days ago | parent | prev | next [-] | ||||||||||||||||
I'd love to learn more about what you're building--just reach out at peter.kraft@dbos.dev. One option is that you have DBOS workflows that schedule and submit jobs to an external worker app. Another option is that your workers use DBOS queues (https://docs.dbos.dev/python/tutorials/queue-tutorial). I'd have to better understand your use case to figure out what would be the best fit. | |||||||||||||||||
| |||||||||||||||||
▲ | cyberpunk 5 days ago | parent | prev [-] | ||||||||||||||||
Unless you’re planning on using their (temporalio’s) saas you’re in for building a very large database cluster for this if you need some scale. (source: i run way more cassandra than i ever thought reasonable) | |||||||||||||||||
|