Super basic question to confirm the behavior of Workflow.sleep(). Sleeping a workflow just suspends the workflow to be picked up after a set duration, correct? It doesn’t hold on to an active thread and block as it sleeps, right?
Whenever a workflow is blocked (including blocked due to workflow.sleep) then it should not take any resources on the worker. We do keep these workflows in a cache, so it might look like it is taking some resources but it will be pushed out of the cache if another active workflow comes in and we don’t have space in the cache. The cache size on the worker is configurable.
Are there any gotchas with the timeouts when executing sleeps in a workflow? Would the sleep time count toward any of the timeout thresholds?
I’m not sure I understand this question. Can you provide a concrete scenario on what do you mean by “sleep time count toward any of the timeout thresholds”?