>+ def lftp_mirror
>+ @result_root.delete_prefix!('/srv')
>+ srv_http_host = job['SRV_HTTP_HOST'] || '124.160.11.58'
>+ srv_http_port = job['SRV_HTTP_PORT'] || '11300'
>+ url = "http://#{srv_http_host}:#{srv_http_port}#{@result_root}"
>+ system "lftp -c mirror #{url} >/dev/null 2>&1"
>+ end
>+
>+ def lftp(data)
>+ if @result_root
>+ lftp_mirror
Seems it'll repeatedly call lftp on every new message?
When do we start downloading? Ideally do it once after extract stats.
>+ else
>+ set_result_root(data)
That else seems illogical. Typically we set a var before checking it.
Maybe lftp_mirror will be called at the next message, however it's
still illogical thing.
Thanks,
Fengguang
>+ end
>+ end
>+
> def stop(data, web_socket, code = 1000, reason = 'normal')
> @stop_query.each do |key, value|
> return false unless data[key] == value
>@@ -109,7 +136,7 @@ class Monitor
>
> @query.each do |k, v|
> @query[k] = JSON.parse(v)
>- rescue
>+ rescue StandardError
> end
> query = @query.to_json
> puts "query=>#{query}"
>@@ -136,6 +163,7 @@ class Monitor
>
> output(data)
> connect(data, ws)
>+ lftp(data)
>
> stop(data, ws) if @action['stop']
> end
>diff --git a/sbin/submit b/sbin/submit
>index 05b3e86dd..a92556fff 100755
>--- a/sbin/submit
>+++ b/sbin/submit
>@@ -47,6 +47,10 @@ options = OptionParser.new do |opts|
> actions << 'connect'
> end
>
>+ opts.on('-l', '--lftp', 'lftp mirror job result') do
>+ actions << 'lftp_result'
>+ end
>+
> opts.on('-m', '--monitor', "monitor job status: use -m 'KEY: VALUE' to add rule") do
> opt_monitor = true
> filter = YAML.load ARGV[0] if ARGV[0]
>--
>2.23.0
>