Hi, I am experiencing a strange issue with Julia workers
running in docker container instances in Azure
. I am able to run distributed computations on workers, so everything seems fine, except that workers don’t print
anything. E.g.
julia> workers()
2-element Vector{Int64}:
2
3
julia> @everywhere println(myid())
1
Not sure how to debug it. Please let me know if you have an idea
Perhaps the container stdout needs to be redirected in some way…
Thanks for your response. Yes, it seems the problem is with standard redirect_worker_output
:
function redirect_worker_output(ident, stream)
t = @async while !eof(stream)
line = readline(stream)
if startswith(line, " From worker ")
# stdout's of "additional" workers started from an initial worker on a host are not available
# on the master directly - they are routed via the initial worker's stdout.
println(line)
else
println(" From worker $(ident):\t$line")
end
end
errormonitor(t)
end
eof(stream)
in my case is true
so the output is not printed. So the problem is not with julia but with container interrupting the log stream for some reason.