Signed-off-by: Li Ping 1477412247@qq.com --- src/lib/updaterepo.cr | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/lib/updaterepo.cr
diff --git a/src/lib/updaterepo.cr b/src/lib/updaterepo.cr new file mode 100644 index 0000000..4826fac --- /dev/null +++ b/src/lib/updaterepo.cr @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. + +require "json" +require "kemal" +require "./json_logger" +require "./mq" + +class Repo + def initialize(env : HTTP::Server::Context) + @mq = MQClient.instance + @env = env + @log = JSONLogger.new + end + + def upload_repo + begin + body = @env.request.body.not_nil!.gets_to_end + data = JSON.parse(body.to_s).as_h? + rescue e + @log.error(e) + end + + puts "-" * 50 + puts "post body:", data + + begin + # check if the parameters are complete + check_params_complete(data) + mq_publish(data) + rescue e + response = { "errcode" => "101", "errmsg" => "upload rpm failed" } + @log.info(response.to_json) + puts "error message: #{e.message}" + end + end + + def mq_publish(data) + mq_msg = data + puts mq_msg.to_json + + spawn mq_publish_check("update_repo", mq_msg.to_json) + end + + def mq_publish_check(queue, msg) + 3.times do + @mq.publish_confirm(queue, msg) + break + rescue e + res = @mq.reconnect + sleep 5 + end + end + + def check_params_complete(params) + params = params.not_nil! + tmp_hash = {"errcode" => "101", "errmsg" => "no upload_rpms params"}.to_json + raise tmp_hash unless params["upload_rpms"]? + end +end
On Mon, Mar 29, 2021 at 04:08:11PM +0800, Li Ping wrote:
Signed-off-by: Li Ping 1477412247@qq.com
src/lib/updaterepo.cr | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/lib/updaterepo.cr
diff --git a/src/lib/updaterepo.cr b/src/lib/updaterepo.cr new file mode 100644 index 0000000..4826fac --- /dev/null +++ b/src/lib/updaterepo.cr @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+require "json" +require "kemal" +require "./json_logger" +require "./mq"
+class Repo
- def initialize(env : HTTP::Server::Context)
- @mq = MQClient.instance
- @env = env
- @log = JSONLogger.new
- end
- def upload_repo
- begin
body = @env.request.body.not_nil!.gets_to_end
data = JSON.parse(body.to_s).as_h?
- rescue e
@log.error(e)
- end
- puts "-" * 50
- puts "post body:", data
delete the debug info or use log?
Thanks, Xueliang
- begin
# check if the parameters are complete
check_params_complete(data)
mq_publish(data)
- rescue e
response = { "errcode" => "101", "errmsg" => "upload rpm failed" }
@log.info(response.to_json)
puts "error message: #{e.message}"
- end
- end
- def mq_publish(data)
- mq_msg = data
- puts mq_msg.to_json
- spawn mq_publish_check("update_repo", mq_msg.to_json)
- end
- def mq_publish_check(queue, msg)
- 3.times do
@mq.publish_confirm(queue, msg)
break
- rescue e
res = @mq.reconnect
sleep 5
- end
- end
- def check_params_complete(params)
- params = params.not_nil!
- tmp_hash = {"errcode" => "101", "errmsg" => "no upload_rpms params"}.to_json
- raise tmp_hash unless params["upload_rpms"]?
- end
+end
2.23.0
On Tue, Mar 30, 2021 at 02:05:45PM +0800, Cao Xueliang wrote:
On Mon, Mar 29, 2021 at 04:08:11PM +0800, Li Ping wrote:
Signed-off-by: Li Ping 1477412247@qq.com
src/lib/updaterepo.cr | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/lib/updaterepo.cr
diff --git a/src/lib/updaterepo.cr b/src/lib/updaterepo.cr new file mode 100644 index 0000000..4826fac --- /dev/null +++ b/src/lib/updaterepo.cr @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+require "json" +require "kemal" +require "./json_logger" +require "./mq"
+class Repo
- def initialize(env : HTTP::Server::Context)
- @mq = MQClient.instance
- @env = env
- @log = JSONLogger.new
- end
- def upload_repo
- begin
body = @env.request.body.not_nil!.gets_to_end
data = JSON.parse(body.to_s).as_h?
- rescue e
@log.error(e)
- end
- puts "-" * 50
- puts "post body:", data
delete the debug info or use log?
fine...
Thanks, Ping
Thanks, Xueliang
- begin
# check if the parameters are complete
check_params_complete(data)
mq_publish(data)
- rescue e
response = { "errcode" => "101", "errmsg" => "upload rpm failed" }
@log.info(response.to_json)
puts "error message: #{e.message}"
- end
- end
- def mq_publish(data)
- mq_msg = data
- puts mq_msg.to_json
and i will delete the debug info too.
Thanks, Ping
- spawn mq_publish_check("update_repo", mq_msg.to_json)
- end
- def mq_publish_check(queue, msg)
- 3.times do
@mq.publish_confirm(queue, msg)
break
- rescue e
res = @mq.reconnect
sleep 5
- end
- end
- def check_params_complete(params)
- params = params.not_nil!
- tmp_hash = {"errcode" => "101", "errmsg" => "no upload_rpms params"}.to_json
- raise tmp_hash unless params["upload_rpms"]?
- end
+end
2.23.0