I spent forty-eight hours convinced a worker was deadlocked, because the remote log never showed the first print. Have you ever rerun the same Python file on your laptop and watched it chatter, then watched a server swallow every line? That gap is easy to blame on locks, agents, or a hung HTTP client that never returns. The quieter explanation is that CPython block-buffers stdout whenever the stream is not attached to a TTY.
Hour 0 to 4: the empty log looked like a hang
The job was a small batch script, not a service, and it was supposed to print a checkpoint before each expensive step. I started it on a remote shell that captured output through a pipe, then I waited, then I waited more. Why would a simple starting-batch print vanish while the process was still listed in ps? I assumed the interpreter never reached that line, so I started hunting for an import deadlock that did not exist.
Locally the same file was noisy in a good way, which made the remote silence feel like a different codebase. I compared SHAs, and I compared sys.version, and I still did not have a story that fit. I even compared os.getcwd() because I have already been burned by working-directory surprises on remote runners. None of those checks explained a print that existed in the file and never arrived in the captured log.






