Block a Workflow "teardown" Activity until Signal or Elapsed Time

I’m building a Workflow that provisions a service to Kubernetes and needs to execute a teardown Activity in response to a Signal or an elapsed amount of time.

Is it preferred to perform this waiting inside the Workflow or it’s own Activity? I’d assume Workflow since that means the Worker is not having to perform the “sleep” itself.

I see the workflow.wait_condition, which is good for waiting on a self._exit object variable to be modified by the Signal handler, but doesn’t seem to accept a nested asyncio.timer in it’s lambda.

Curious what other patterns/ best practices there are for this use case?

wait_condition takes an optional timeout parameter: temporalio.workflow

Thanks - not sure how I missed that