67 lines
2.0 KiB
Diff
67 lines
2.0 KiB
Diff
--- a/packageship/pkgshipd
|
|
+++ b/packageship/pkgshipd
|
|
@@ -3,7 +3,7 @@ SYS_PATH=/etc/pkgship
|
|
OUT_PATH=/opt/pkgship/uwsgi
|
|
OPERATION=$1
|
|
PKGSHIP_CONSTANT="pkgship"
|
|
-MEM_THRESHOLD='700'
|
|
+MEM_THRESHOLD='2048'
|
|
MEM_FREE=$(free -m | grep "Mem" | awk '{print $7}')
|
|
|
|
function check_user() {
|
|
@@ -262,22 +262,34 @@ function uwsgi_log_logrotate() {
|
|
echo "[INFO] Start the logrotate task success"
|
|
}
|
|
|
|
+function is_started() {
|
|
+ pkgship_version=$(pkgship -v)
|
|
+ if [[ -n ${pkgship_version} ]] && [[ ${pkgship_version} =~ "Version" ]]; then
|
|
+ return 0
|
|
+ else
|
|
+ return 1
|
|
+ fi
|
|
+}
|
|
+
|
|
function start_service() {
|
|
- uwsgi_pid=$(ps -ef | grep -v grep | grep "uwsgi" | grep "${PKGSHIP_CONSTANT}.ini" | awk '{print $2}')
|
|
- if [ -n "${uwsgi_pid}" ]; then
|
|
+ if is_started; then
|
|
echo "[ERROR] ${PKGSHIP_CONSTANT} service is running, please stop it first."
|
|
exit 1
|
|
else
|
|
uwsgi -d --ini $OUT_PATH/${PKGSHIP_CONSTANT}.ini
|
|
echo "[INFO] START uwsgi service: ${PKGSHIP_CONSTANT}.ini"
|
|
- uwsgi_pid=$(ps -ef | grep -v grep | grep "uwsgi" | grep "${PKGSHIP_CONSTANT}.ini" | awk '{print $2}')
|
|
- if [ -z "${uwsgi_pid}" ]; then
|
|
- echo "[ERROR] Service failed to start, please check log $(get_config "daemonize")"
|
|
- exit 1
|
|
- fi
|
|
- uwsgi_log_logrotate
|
|
- echo "[INFO] Start pkgship service success!!!"
|
|
- exit 0
|
|
+
|
|
+ for i in {1..5}; do
|
|
+ if is_started; then
|
|
+ uwsgi_log_logrotate
|
|
+ echo "[INFO] Start pkgship service success!!!"
|
|
+ exit 0
|
|
+ fi
|
|
+ sleep 2s
|
|
+ done
|
|
+
|
|
+ echo "[ERROR] Service failed to start, please check log $(get_config "daemonize")"
|
|
+ exit 1
|
|
fi
|
|
}
|
|
|
|
@@ -288,8 +300,7 @@ function stop_service() {
|
|
exit 1
|
|
fi
|
|
|
|
- uwsgi_pid=$(ps -ef | grep -v grep | grep "uwsgi" | grep "${PKGSHIP_CONSTANT}.ini" | awk '{print $2}')
|
|
- if [ -n "${uwsgi_pid}" ]; then
|
|
+ if is_started; then
|
|
uwsgi --stop $OUT_PATH/${PKGSHIP_CONSTANT}.pid
|
|
echo "[INFO] STOP uwsgi service: $OUT_PATH/${PKGSHIP_CONSTANT}.ini"
|
|
echo "[INFO] The run log is saved into: $(get_config "daemonize")"
|