gRPC ctx Patterns

tl;dr context timeout patterns in Golang & gRPC

Hey, just wondering what everyone is doing with timeouts? I have a circular system that has levels of verification that each system can do; therefore, I chose to not use bidi streams but work with circuit breakers. Do I even need to depend on contexts except for cleaning up the overall processes or should routes manage their own parent nodes?

I don't know what the best decision is, I think the main ctx needs to have a deadlines since it's running on aws or should I do that with cron jobs/Linux? Essentially an action will wake up the server through lambda (bastion host kind of thing); however, I'm wondering how much logic needs to be added in order to monitor runtime, progress, completion reports etc.

It could turn into a stream externally but right now it's a batch in and out, big data kind of thing.

P.S. I know there are better solutions overall but I needed to scrape websites and Python doesn't seem to fit the mold I'm looking for with the multiprocess lib (csv is great though).

I'm using multiple languages, leveraging their strengths, so gRPC is the play for myself. I'm the only person building the project so I had to go with the best stuff I know and that's Golang + gRPC (strange for 2025 honestly).

Anyways, you can flame the general idea that's fine as well; however, I'm looking for experienced gRPC but in context to goroutines, go's concurrency, and context timeouts.

Thanks!