Hey, I’m starting a new project that needs a task queue, and came across Temporal while searching for a task queue that works well with TypeScript. From reading the documentation, I’m pretty impressed, and I’d be quite interested in trying to set up Temporal with Temporal Cloud.
I have one sticking point though, everything I’m reading implies that workers are supposed to be long-running processes that poll Temporal for work. For my use-case, this is a non-starter, it’s too expensive. I’m looking at a task queue because I expect the queue to have burst/unpredictable load, and I would want to set up different queues with different throttling characteristics. If I were to choose a pull-based system, then I need to worry about scaling the pull-based workers up and down according to queue length, which isn’t desirable as it’s not really part of project value.
It would be much, much simpler for me to have a scheduling system where, when there are new tasks in the queue, the scheduling system pushes the task by spawning a worker with the task; the implementation for which could be triggering an AWS Lambda function or starting an AWS ECS task (on Fargate), depending on timeout. The worker then notifies Temporal whether it completed the task or errored.
Is this not possible today with Temporal? If not, is it on the roadmap?
Thanks