Cost of idle workflows

Hello,

We have slots on resources. A workflow should run only after acquiring the slot on the resources. The following the two patterns we can follow.

Pattern 1:

  • Start the workflow.
  • Request the slot as an activity.
  • Wait for a slot to be granted through a signal.
  • Start the work.

Pattern 2:

  • Request the slot before starting the workflow(not done using temporal).
  • Wait for a slot to be granted.
  • Start the temporal workflow to do the work.

Implementing Pattern 1 is easier for us, but is there a performance cost or usage cost if there are millions of temporal workflows that are just started and waiting idle for days to acquire a slot?

Note: This is for self-hosted temporal use case.

The only cost of such idle workflows is database size as well as ElasticSearch index size.