Correct me if I’m wrong, but this sounds primarily a question of how to deploy code changes to workflow workers. If you can do that, then you can simply have a task queue for each resource requirement: one task queue for large CPU instances, another task queue for large memory instances, etc.
Consider a fleet of worker instances pulling work from a particular task queue. To make a code change, we can do a rolling update by starting new worker instances running the new code, while shutting down old instances running the old code.
For long running workflows that we wanted to start using new code, we’d need to migrate the workflow by patching. Since you don’t have long running workflows, it’s sufficient for the new code to use a new workflow type; that is, each change the dev/user makes maps to a different workflow definition name.
The new code can continue to support the old code for the old workflows under the old workflow definition type name until all the old workflows have been archived. Then the code for the old workflow definitions can be removed.
A constraint is that if a worker pulls a task from the queue and it turns out to be a workflow type that it doesn’t know about, it’ll fail that task. (What is a Temporal Worker? | Temporal Documentation)
I haven’t tested this, but since workflow tasks are simply logic, I imagine shutting down a workflow worker would normally be quick. You might find that performing a rolling update can be done fast enough that you could deploy and start using the new code.
If not, perhaps you might be able to use worker versioning to avoid having the old workers pull tasks for the new code.
Worker versioning isn’t available on Temporal Cloud yet, so finally you might consider using blue-green task queues (two queues for each resource type): initially all tasks for a resource type goes to its blue queue and all workers of that resource type pull from the resource type’s blue queue. When you have new code you can spin up worker instances listening to the green queue and start new workflow executions on the green queue. Once all the old workflows using the blue queue have completed, you can shut down the blue workers. (On the next code change it would be the green queue running the old code and the blue queue that would spin up to run the new code).