On Mon, Oct 19, 2020 at 10:28:26AM +0800, Yu Chuan wrote:
On Mon, Oct 19, 2020 at 10:03:23AM +0800, Xiao Shenwei wrote:
[why] when run multi-docker job on physical machine, run 50 client to request
^-- clients
job, if server down or error like Connection refused. these client will
^-- ditto
exit. when the server recovers, need to run these client again.
^-- ditto
[how] add exception handing to ensure all client does not exit
where is your Signed-off-by?
forgot it
Thanks, Shenwei
providers/docker/docker.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/providers/docker/docker.rb b/providers/docker/docker.rb index c241d3c..2239930 100755 --- a/providers/docker/docker.rb +++ b/providers/docker/docker.rb @@ -88,6 +88,19 @@ def main(hostname) run(hostname, load_path, hash) end
+def loop_main(hostname)
- loop do
- begin
main(hostname)
- rescue StandardError => e
puts e.message
sleep 10
- ensure
sleep 5
- end
- end
+end
def save_pid(pids) FileUtils.cd("#{ENV['CCI_SRC']}/providers") f = File.new('dc.pid', 'a') @@ -99,10 +112,7 @@ def multi_docker(hostname, nr_container) pids = [] nr_container.to_i.times do |i| pid = Process.fork do
loop do
main("#{hostname}-#{i}")
sleep 5
end
end pids << pid endloop_main("#{hostname}-#{i}")
-- 2.23.0