In Go, always accept and use a context in any long-running call. Had a bug where a GetWorker() call spins until a worker is found even if the request context is canceled!