{ "version": 2, "id": "D07", "kind": "synthetic-chat", "origin": "synthetic", "actors": [ "Erin", "Mo", "Cal" ], "initialDocument": "", "steps": [ { "id": "m1", "kind": "say", "actor": "Erin", "text": "thumbnails need a queue once uploads go direct.", "to": "room" }, { "id": "m2", "kind": "say", "actor": "Mo", "text": "simplest is polling a postgres jobs table. one less thing to run.", "to": "room" }, { "id": "c2", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m3", "kind": "say", "actor": "Erin", "text": "the DB route is easier to operate; not sure about throughput.", "to": "room" }, { "id": "m4", "kind": "say", "actor": "Cal", "text": "Redis with BullMQ? also there was a hosted queue at my last job, but I can't recall the name.", "to": "room" }, { "id": "c4", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m5", "kind": "say", "actor": "Mo", "text": "I'd start with postgres polling, if retries are durable.", "to": "room" }, { "id": "c5", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m6", "kind": "say", "actor": "Cal", "text": "+1 to the DB jobs table for now. no point running Redis for 40 images a day.", "to": "room" }, { "id": "c6", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 } ] }