It is often desirable to be able to access a shell from within a running task of a workflow, to debug a misbehaving program or inspect some files for example.
When inspecting a running task in the Console, simply click
on the node representing the desired task and copy and paste the
latch exec <hash> subcommand in the right sidebar into your terminal to retrieve a live
shell from within the running task.
The shell session is accessible as long as the task is executing. For short-lived tasks, you can use the Start, Stop options on the sidebar to pause a task. Alternatively, you can also programmatically sleep a task like so:
import time @task def very_short_task(a: int, b: int) -> int: time.sleep(300) # Sleep the task for 5 minutes return a + b
The task would run for longer on Latch, giving you more time to
latch exec into it and debug.
This feature is in alpha, please contact email@example.com to gain access.