What happens when the DB gets large?
How do you handle idempotency? (What if SQS delivers twice?)
The cron job is still a single point of failure...
One challenge is to guarantee exactly-once processing across software upgrades. DBOS uses the cron-scheduled time as an idempotency key, and tags each workflow execution with a version. We also use the database transactions to guard against conflicting concurrent updates.