ryanthompson591 commented on a change in pull request #16658:
URL: https://github.com/apache/beam/pull/16658#discussion_r799561911
##########
File path: sdks/python/container/boot.go
##########
@@ -145,7 +145,21 @@ func main() {
// Guard from concurrent artifact retrieval and installation,
// when called by child processes in a worker pool.
+ workerPoolId := os.Getenv(workerPoolIdEnv)
+ var venvDir string
+ if workerPoolId != "" {
+ venvDir = filepath.Join(*semiPersistDir, "beam-venv",
"beam-pool-" + workerPoolId)
+ } else {
+ venvDir = filepath.Join(*semiPersistDir, "beam-venv",
"beam-worker-" + *id)
Review comment:
It's not clear why there wouldn't be a workerPoolId. Maybe add a
comment.
##########
File path: sdks/python/container/boot.go
##########
@@ -172,12 +186,12 @@ func main() {
}
}
- workerPoolId := os.Getenv(workerPoolIdEnv)
if workerPoolId != "" {
- multiProcessExactlyOnce(materializeArtifactsFunc,
"beam.install.complete."+workerPoolId)
+ defer multiProcessExactlyOnce(materializeArtifactsFunc,
"beam.install.complete." + workerPoolId)()
Review comment:
why do we want to defer this call now?
##########
File path: sdks/python/container/boot.go
##########
@@ -210,15 +224,29 @@ func main() {
wg.Add(len(workerIds))
for _, workerId := range workerIds {
go func(workerId string) {
+ defer wg.Done()
log.Printf("Executing: python %v", strings.Join(args, "
"))
- log.Fatalf("Python exited: %v",
execx.ExecuteEnv(map[string]string{"WORKER_ID": workerId}, "python", args...))
- wg.Done()
+ log.Printf("Python exited: %v",
execx.ExecuteEnv(map[string]string{"WORKER_ID": workerId}, "python", args...))
}(workerId)
}
wg.Wait()
}
-// setup wheel specs according to installed python version
+// setupVenv initialize a local Python venv and set the corresponding env
variables
+func setupVenv(dir string) error {
+ log.Printf("Initializing temporary Python venv ...")
+ if _, err := os.Stat(filepath.Join(dir, "pyenv.cfg"));
os.IsNotExist(err) {
Review comment:
I guess I'm curious. If there is an error other than the IsNotExist
error, could anything go wrong?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]