From 291443dd6b6edcf253b48f97f5ec87b5b5545b62 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:29:26 +0800 Subject: [PATCH] Error not handled (#2040) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled --- scripts/lib/util.sh | 61 ------------------------------------ tools/component/component.go | 31 ++++++++++-------- 2 files changed, 18 insertions(+), 74 deletions(-) diff --git a/scripts/lib/util.sh b/scripts/lib/util.sh index e9908ae66..f66971252 100755 --- a/scripts/lib/util.sh +++ b/scripts/lib/util.sh @@ -1808,68 +1808,7 @@ openim::util::stop_services_on_ports() { # Usage: # openim::util::stop_services_with_name nginx apache # The function returns a status of 1 if any service couldn't be stopped. -openim::util::stop_services_with_name() { - # An array to collect names of processes that couldn't be stopped. - local not_stopped=() - - # An array to collect information about processes that were stopped. - local stopped=() - - echo "Stopping services with names: $*" - # Iterate over each given service name. - for server_name in "$@"; do - # Use the `pgrep` command to find process IDs related to the given service name. - local pids=$(pgrep -f "$server_name") - - # If no process was found with the name, add it to the not_stopped list - if [[ -z $pids ]]; then - not_stopped+=("$server_name") - continue - fi - local stopped_this_time=false - for pid in $pids; do - # Exclude the PID of the current script - if [[ "$pid" == "$$" ]]; then - continue - fi - - # If there's a Process ID, it means the service with the name is running. - if [[ -n $pid ]]; then - # Try to stop the service by killing its process. - if kill -10 $pid 2>/dev/null; then - stopped_this_time=true - fi - fi - done - - if $stopped_this_time; then - stopped+=("$server_name") - else - not_stopped+=("$server_name") - fi - done - - # Print information about services whose processes couldn't be stopped. - if [[ ${#not_stopped[@]} -ne 0 ]]; then - echo "Services that couldn't be stopped:" - for name in "${not_stopped[@]}"; do - openim::log::status "Failed to stop the $name service." - done - fi - - # Print information about services whose processes were successfully stopped. - if [[ ${#stopped[@]} -ne 0 ]]; then - echo - echo "Stopped services:" - for name in "${stopped[@]}"; do - echo "Successfully stopped the $name service." - done - fi - - openim::log::success "All specified services were stopped." - echo "" -} # sleep 333333& # sleep 444444& # ps -ef | grep "sleep" diff --git a/tools/component/component.go b/tools/component/component.go index e3b5b1956..c7c135549 100644 --- a/tools/component/component.go +++ b/tools/component/component.go @@ -102,19 +102,24 @@ func main() { if !check.flag { err = check.function(check.config) if err != nil { - if errors.Is(err, errMinioNotEnabled) { - fmt.Println(err.Error()) - checks[index].flag = true - } - if errors.Is(err, errSignEndPoint) { - fmt.Fprintf(os.Stderr, err.Error()) - checks[index].flag = true + if check.name == "Minio" { + if errors.Is(err, errMinioNotEnabled) { + fmt.Println(err.Error(), " check ", check.name) + checks[index].flag = true + } + if errors.Is(err, errSignEndPoint) { + fmt.Fprintf(os.Stderr, err.Error(), " check ", check.name) + checks[index].flag = true + } } + component.ErrorPrint(fmt.Sprintf("Starting %s failed:%v.", check.name, errs.Unwrap(err).Error())) - if !strings.Contains(errs.Unwrap(err).Error(), "connection refused") && - !strings.Contains(errs.Unwrap(err).Error(), "timeout waiting") { - component.ErrorPrint("Some components started failed!") - os.Exit(-1) + if strings.Contains(errs.Unwrap(err).Error(), "connection refused") || + strings.Contains(errs.Unwrap(err).Error(), "timeout") || + strings.Contains(errs.Unwrap(err).Error(), "context deadline exceeded") { + component.ErrorPrint(fmt.Sprintf("try check connection %s", check.name)) + allSuccess = false + break } } else { checks[index].flag = true @@ -258,13 +263,13 @@ func checkKafka(config *config.GlobalConfig) error { _, err = kafka.NewMConsumerGroup(&kafka.MConsumerGroupConfig{ KafkaVersion: sarama.V2_0_0_0, OffsetsInitial: sarama.OffsetNewest, IsReturnErr: false, - }, []string{config.Kafka.MsgToPush.Topic}, + }, []string{config.Kafka.MsgToMongo.Topic}, config.Kafka.Addr, config.Kafka.ConsumerGroupID.MsgToMongo, tlsConfig) if err != nil { return err } - kafka.NewMConsumerGroup(&kafka.MConsumerGroupConfig{ + _, err = kafka.NewMConsumerGroup(&kafka.MConsumerGroupConfig{ KafkaVersion: sarama.V2_0_0_0, OffsetsInitial: sarama.OffsetNewest, IsReturnErr: false, }, []string{config.Kafka.MsgToPush.Topic}, config.Kafka.Addr,