pull/1953/head
skiffer-git 2 years ago
parent f776e991e8
commit c61a79a9f7

@ -80,19 +80,25 @@ else
echo "++++ Check all dependent service ports successfully !" echo "++++ Check all dependent service ports successfully !"
fi fi
openim::log::info "\n## Check OpenIM service name"
. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check
openim::log::info "\n## Check all OpenIM service ports" openim::log::info "\n## Check OpenIM service name ${OPENIM_OUTPUT_HOSTBIN}/openim-msgtransfer"
echo "+++ The process being checked:" result=$(. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check)
if [[ $? -ne 0 ]]; then
echo "+++ cat openim log file >>> ${LOG_FILE}"
openim::log::error "check process failed.\n $result"
fi
echo "Check OpenIM service name:"
for item in "${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]}"; do for item in "${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]}"; do
echo "$item" echo "$item"
done done
result=$(openim::util::check_process_names ${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]}) result=$(openim::util::check_process_names ${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]})
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
echo "+++ cat openim log file >>> ${LOG_FILE}" echo "+++ cat openim log file >>> ${LOG_FILE}"
openim::log::error "check process failed.\n $result" openim::log::error "check process failed.\n $result"
else else
echo "++++ Check all openim service ports successfully !" echo "Check all openim service ports successfully !"
fi fi

@ -48,11 +48,7 @@ function openim::api::start() {
openim::log::info "Starting ${SERVER_NAME} ..." openim::log::info "Starting ${SERVER_NAME} ..."
readonly OPENIM_API_SERVER_LIBRARIES="${OPENIM_OUTPUT_HOSTBIN}/${SERVER_NAME}" readonly OPENIM_API_SERVER_LIBRARIES="${OPENIM_OUTPUT_HOSTBIN}/${SERVER_NAME}"
result=$(openim::util::stop_services_with_name ${OPENIM_API_SERVER_LIBRARIES})
if [[ $? -ne 0 ]]; then
openim::log::error "stop ${SERVER_NAME} failed"
return 1
fi
printf "+------------------------+--------------+\n" printf "+------------------------+--------------+\n"
printf "| Service Name | Port |\n" printf "| Service Name | Port |\n"
@ -64,8 +60,6 @@ function openim::api::start() {
printf "| %-22s | %6s |\n" "${OPENIM_API_SERVICE_LISTARIES[$i]}" "${OPENIM_API_PORT_LISTARIES[$i]}" printf "| %-22s | %6s |\n" "${OPENIM_API_SERVICE_LISTARIES[$i]}" "${OPENIM_API_PORT_LISTARIES[$i]}"
printf "+------------------------+--------------+\n" printf "+------------------------+--------------+\n"
# Stop services on the specified ports before starting new ones # Stop services on the specified ports before starting new ones
# openim::util::stop_services_on_ports "${OPENIM_API_PORT_LISTARIES[$i]}"
# openim::util::stop_services_on_ports "${OPENIM_API_PROMETHEUS_PORT_LISTARIES[$i]}"
openim::log::info "OpenIM ${OPENIM_API_SERVICE_LISTARIES[$i]} config path: ${OPENIM_API_CONFIG}" openim::log::info "OpenIM ${OPENIM_API_SERVICE_LISTARIES[$i]} config path: ${OPENIM_API_CONFIG}"
# Start the service with Prometheus port if specified # Start the service with Prometheus port if specified

@ -50,12 +50,6 @@ function openim::crontask::start() {
openim::log::info "Start OpenIM Cron, binary root: ${SERVER_NAME}" openim::log::info "Start OpenIM Cron, binary root: ${SERVER_NAME}"
openim::log::status "Start OpenIM Cron, path: ${OPENIM_CRONTASK_BINARY}" openim::log::status "Start OpenIM Cron, path: ${OPENIM_CRONTASK_BINARY}"
result=$(openim::util::stop_services_with_name ${OPENIM_CRONTASK_BINARY})
if [[ $? -ne 0 ]]; then
openim::log::error "stop ${SERVER_NAME} failed"
return 1
fi
openim::log::status "start cron_task process, path: ${OPENIM_CRONTASK_BINARY}" openim::log::status "start cron_task process, path: ${OPENIM_CRONTASK_BINARY}"
nohup ${OPENIM_CRONTASK_BINARY} -c ${OPENIM_PUSH_CONFIG} >> ${LOG_FILE} 2> >(tee -a "${STDERR_LOG_FILE}" "$TMP_LOG_FILE" >&2) & nohup ${OPENIM_CRONTASK_BINARY} -c ${OPENIM_PUSH_CONFIG} >> ${LOG_FILE} 2> >(tee -a "${STDERR_LOG_FILE}" "$TMP_LOG_FILE" >&2) &

@ -32,11 +32,6 @@ function openim::msggateway::start() {
openim::log::info "Start OpenIM Msggateway, binary root: ${SERVER_NAME}" openim::log::info "Start OpenIM Msggateway, binary root: ${SERVER_NAME}"
openim::log::status "Start OpenIM Msggateway, path: ${OPENIM_MSGGATEWAY_BINARY}" openim::log::status "Start OpenIM Msggateway, path: ${OPENIM_MSGGATEWAY_BINARY}"
result=$(openim::util::stop_services_with_name ${OPENIM_MSGGATEWAY_BINARY})
if [[ $? -ne 0 ]]; then
openim::log::error "stop ${SERVER_NAME} failed"
return 1
fi
# OpenIM message gateway service port # OpenIM message gateway service port
OPENIM_MESSAGE_GATEWAY_PORTS=$(openim::util::list-to-string ${OPENIM_MESSAGE_GATEWAY_PORT} ) OPENIM_MESSAGE_GATEWAY_PORTS=$(openim::util::list-to-string ${OPENIM_MESSAGE_GATEWAY_PORT} )

@ -67,11 +67,8 @@ function openim::msgtransfer::start() {
function openim::msgtransfer::check() { function openim::msgtransfer::check() {
PIDS=$(pgrep -f "${OPENIM_OUTPUT_HOSTBIN}/openim-msgtransfer") PIDS=$(pgrep -f "${OPENIM_OUTPUT_HOSTBIN}/openim-msgtransfer")
NUM_PROCESSES=$(echo "$PIDS" | wc -l) NUM_PROCESSES=$(echo "$PIDS" | wc -l)
echo "111111111111transfer check " "$NUM_PROCESSES" "$OPENIM_MSGGATEWAY_NUM"
if [ "$NUM_PROCESSES" -eq "$OPENIM_MSGGATEWAY_NUM" ]; then if [ "$NUM_PROCESSES" -eq "$OPENIM_MSGGATEWAY_NUM" ]; then
openim::log::info "Found $OPENIM_MSGGATEWAY_NUM processes named $OPENIM_OUTPUT_HOSTBIN"
for PID in $PIDS; do for PID in $PIDS; do
if [[ "$OSTYPE" == "linux-gnu"* ]]; then if [[ "$OSTYPE" == "linux-gnu"* ]]; then
ps -p $PID -o pid,cmd ps -p $PID -o pid,cmd
@ -83,7 +80,9 @@ function openim::msgtransfer::check() {
done done
else else
openim::log::error "Expected $OPENIM_MSGGATEWAY_NUM openim msgtransfer processes, but found $NUM_PROCESSES msgtransfer processes." openim::log::error "Expected $OPENIM_MSGGATEWAY_NUM openim msgtransfer processes, but found $NUM_PROCESSES msgtransfer processes."
return 1
fi fi
return 0
} }
function openim::msgtransfer::check_for_stop() { function openim::msgtransfer::check_for_stop() {

@ -62,12 +62,6 @@ function openim::push::start() {
OPENIM_PUSH_PORTS_ARRAY=$(openim::util::list-to-string ${OPENIM_PUSH_PORT} ) OPENIM_PUSH_PORTS_ARRAY=$(openim::util::list-to-string ${OPENIM_PUSH_PORT} )
PUSH_PROM_PORTS_ARRAY=$(openim::util::list-to-string ${PUSH_PROM_PORT} ) PUSH_PROM_PORTS_ARRAY=$(openim::util::list-to-string ${PUSH_PROM_PORT} )
result=$(openim::util::stop_services_with_name ${OPENIM_PUSH_BINARY})
if [[ $? -ne 0 ]]; then
openim::log::error "stop ${OPENIM_PUSH_BINARY} failed \n " "${result}"
return 1
fi
openim::log::status "push port list: ${OPENIM_PUSH_PORTS_ARRAY[@]}" openim::log::status "push port list: ${OPENIM_PUSH_PORTS_ARRAY[@]}"
openim::log::status "prometheus port list: ${PUSH_PROM_PORTS_ARRAY[@]}" openim::log::status "prometheus port list: ${PUSH_PROM_PORTS_ARRAY[@]}"

@ -131,11 +131,7 @@ function openim::rpc::start() {
printf "+------------------------+-------+-----------------+\n" printf "+------------------------+-------+-----------------+\n"
done done
result=$(openim::util::stop_services_with_name ${OPENIM_ALL_RPC_FULL_PATH[@]})
if [[ $? -ne 0 ]]; then
openim::log::error "stop ${SERVER_NAME} failed" "$result"
fi
sleep 5
# start all rpc services # start all rpc services
for ((i = 0; i < ${#OPENIM_RPC_SERVICE_LISTARIES[*]}; i++)); do for ((i = 0; i < ${#OPENIM_RPC_SERVICE_LISTARIES[*]}; i++)); do

@ -24,7 +24,7 @@ source "${OPENIM_ROOT}/scripts/install/common.sh"
# Function to execute the scripts. # Function to execute the scripts.
function execute_scripts() { function execute_start_scripts() {
for script_path in "${OPENIM_SERVER_SCRIPT_START_LIST[@]}"; do for script_path in "${OPENIM_SERVER_SCRIPT_START_LIST[@]}"; do
# Extract the script name without extension for argument generation. # Extract the script name without extension for argument generation.
script_name_with_prefix=$(basename "$script_path" .sh) script_name_with_prefix=$(basename "$script_path" .sh)
@ -79,26 +79,36 @@ openim::log::info "\n## Pre Starting OpenIM services"
${TOOLS_START_SCRIPTS_PATH} openim::tools::pre-start ${TOOLS_START_SCRIPTS_PATH} openim::tools::pre-start
"${OPENIM_ROOT}"/scripts/stop-all.sh result=$("${OPENIM_ROOT}"/scripts/stop-all.sh)
if [[ $? -ne 0 ]]; then
echo "+++ cat openim log file >>> ${LOG_FILE}"
openim::log::error "Some programs have not exited; the start process is aborted .\n $result"
exit 1
fi
sleep 10
openim::log::info "\n## Starting OpenIM services" openim::log::info "\n## Starting OpenIM services"
execute_scripts execute_start_scripts
sleep 2
openim::log::info "\n## Check OpenIM service name" sleep 2
. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check
result=$(. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check)
if [[ $? -ne 0 ]]; then
echo "+++ cat openim log file >>> ${LOG_FILE}"
openim::log::error "The program may fail to start.\n $result"
exit 1
fi
echo "+++ The process being checked:"
for item in "${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]}"; do
echo "$item"
done
openim::util::check_process_names ${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]} openim::util::check_process_names ${OPENIM_ALL_SERVICE_LIBRARIES_NO_TRANSFER[@]}
if [[ $? -ne 0 ]]; then
echo "+++ cat openim log file >>> ${LOG_FILE}"
openim::log::error "The program may fail to start.\n $result"
exit 1
fi
openim::log::info "\n## Post Starting OpenIM services" openim::log::info "\n## Post Starting OpenIM services"
${TOOLS_START_SCRIPTS_PATH} openim::tools::post-start ${TOOLS_START_SCRIPTS_PATH} openim::tools::post-start

@ -34,14 +34,24 @@ openim::util::stop_services_with_name "${OPENIM_OUTPUT_HOSTBIN}"
# todo OPENIM_ALL_SERVICE_LIBRARIES # todo OPENIM_ALL_SERVICE_LIBRARIES
max_retries=15
attempt=0
sleep 5 while [[ $attempt -lt $max_retries ]]
do
result=$(openim::util::check_process_names_for_stop) result=$(openim::util::check_process_names_for_stop)
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
echo "+++ cat openim log file >>> ${LOG_FILE}" echo "+++ cat openim log file >>> ${LOG_FILE}"
openim::log::error "stop process failed.\n" "${result}" openim::log::error "stop process failed. continue waiting\n" "${result}"
sleep 1
((attempt++))
else else
openim::log::success "✨ All processes to be stopped" openim::log::success "✨ All processes to be stopped"
exit 0
fi fi
done
openim::log::error "✨ openim processes stopped failed"
exit 1

Loading…
Cancel
Save