|
@@ -482,7 +482,7 @@ service_is_available() {
|
|
|
# usage: service_is_available <URL>
|
|
|
|
|
|
[[ -z $1 ]] && die_caller 42 "missing argument <URL>"
|
|
|
-
|
|
|
+ local URL="$1"
|
|
|
http_code=$(curl -H 'Cache-Control: no-cache' \
|
|
|
--silent -o /dev/null --head --write-out '%{http_code}' --insecure \
|
|
|
"${URL}")
|
|
@@ -969,6 +969,7 @@ uWSGI_distro_setup() {
|
|
|
# one day, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833067
|
|
|
uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}/apps-available"
|
|
|
uWSGI_APPS_ENABLED="${uWSGI_SETUP}/apps-enabled"
|
|
|
+ uWSGI_PACKAGES="uwsgi"
|
|
|
;;
|
|
|
arch-*)
|
|
|
# systemd --> /usr/lib/systemd/system/uwsgi@.service
|
|
@@ -977,6 +978,7 @@ uWSGI_distro_setup() {
|
|
|
# - https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
|
|
|
uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}/apps-archlinux"
|
|
|
uWSGI_APPS_ENABLED="${uWSGI_SETUP}"
|
|
|
+ uWSGI_PACKAGES="uwsgi"
|
|
|
;;
|
|
|
fedora-*)
|
|
|
# systemd --> /usr/lib/systemd/system/uwsgi.service
|
|
@@ -984,6 +986,7 @@ uWSGI_distro_setup() {
|
|
|
# - https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html
|
|
|
uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}/apps-available"
|
|
|
uWSGI_APPS_ENABLED="${uWSGI_SETUP}.d"
|
|
|
+ uWSGI_PACKAGES="uwsgi"
|
|
|
uWSGI_USER="uwsgi"
|
|
|
uWSGI_GROUP="uwsgi"
|
|
|
;;
|
|
@@ -995,18 +998,26 @@ esac
|
|
|
|
|
|
uWSGI_distro_setup
|
|
|
|
|
|
+install_uwsgi(){
|
|
|
+ info_msg "installing uwsgi ..."
|
|
|
+ pkg_install "$uWSGI_PACKAGES"
|
|
|
+ case $DIST_ID-$DIST_VERS in
|
|
|
+ fedora-*)
|
|
|
+ # enable & start should be called once at uWSGI installation time
|
|
|
+ systemctl enable uwsgi
|
|
|
+ systemctl restart uwsgi
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+}
|
|
|
+
|
|
|
uWSGI_restart() {
|
|
|
|
|
|
# usage: uWSGI_restart() <myapp.ini>
|
|
|
|
|
|
local CONF="$1"
|
|
|
- if [[ -z $CONF ]]; then
|
|
|
- err_msg "uWSGI_restart: missing arguments"
|
|
|
- return 42
|
|
|
- fi
|
|
|
|
|
|
+ [[ -z $CONF ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
info_msg "restart uWSGI service"
|
|
|
-
|
|
|
case $DIST_ID-$DIST_VERS in
|
|
|
ubuntu-*|debian-*)
|
|
|
# the 'service' method seems broken in that way, that it (re-)starts
|
|
@@ -1025,6 +1036,9 @@ uWSGI_restart() {
|
|
|
# in emperor mode, just touch the file to restart
|
|
|
if uWSGI_app_enabled "${CONF}"; then
|
|
|
touch "${uWSGI_APPS_ENABLED}/${CONF}"
|
|
|
+ # it seems, there is a polling time in between touch and restart
|
|
|
+ # of the service.
|
|
|
+ sleep 3
|
|
|
else
|
|
|
info_msg "[uWSGI:emperor] ${CONF} not installed (no need to restart)"
|
|
|
fi
|
|
@@ -1040,11 +1054,9 @@ uWSGI_prepare_app() {
|
|
|
|
|
|
# usage: uWSGI_prepare_app <myapp.ini>
|
|
|
|
|
|
+ [[ -z $1 ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
+
|
|
|
local APP="${1%.*}"
|
|
|
- if [[ -z $APP ]]; then
|
|
|
- err_msg "uWSGI_prepare_app: missing arguments"
|
|
|
- return 42
|
|
|
- fi
|
|
|
|
|
|
case $DIST_ID-$DIST_VERS in
|
|
|
fedora-*)
|
|
@@ -1065,10 +1077,8 @@ uWSGI_prepare_app() {
|
|
|
uWSGI_app_available() {
|
|
|
# usage: uWSGI_app_available <myapp.ini>
|
|
|
local CONF="$1"
|
|
|
- if [[ -z $CONF ]]; then
|
|
|
- err_msg "uWSGI_app_available: missing arguments"
|
|
|
- return 42
|
|
|
- fi
|
|
|
+
|
|
|
+ [[ -z $CONF ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
[[ -f "${uWSGI_APPS_AVAILABLE}/${CONF}" ]]
|
|
|
}
|
|
|
|
|
@@ -1101,6 +1111,8 @@ uWSGI_remove_app() {
|
|
|
# usage: uWSGI_remove_app <myapp.ini>
|
|
|
|
|
|
local CONF="$1"
|
|
|
+
|
|
|
+ [[ -z $CONF ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
info_msg "remove uWSGI app: ${CONF}"
|
|
|
uWSGI_disable_app "${CONF}"
|
|
|
uWSGI_restart "${CONF}"
|
|
@@ -1110,12 +1122,10 @@ uWSGI_remove_app() {
|
|
|
uWSGI_app_enabled() {
|
|
|
# usage: uWSGI_app_enabled <myapp.ini>
|
|
|
|
|
|
- local CONF="$1"
|
|
|
local exit_val=0
|
|
|
- if [[ -z $CONF ]]; then
|
|
|
- err_msg "uWSGI_app_enabled: missing arguments"
|
|
|
- return 42
|
|
|
- fi
|
|
|
+ local CONF="$1"
|
|
|
+
|
|
|
+ [[ -z $CONF ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
case $DIST_ID-$DIST_VERS in
|
|
|
ubuntu-*|debian-*)
|
|
|
[[ -f "${uWSGI_APPS_ENABLED}/${CONF}" ]]
|
|
@@ -1145,11 +1155,7 @@ uWSGI_enable_app() {
|
|
|
|
|
|
local CONF="$1"
|
|
|
|
|
|
- if [[ -z $CONF ]]; then
|
|
|
- err_msg "uWSGI_enable_app: missing arguments"
|
|
|
- return 42
|
|
|
- fi
|
|
|
-
|
|
|
+ [[ -z $CONF ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
case $DIST_ID-$DIST_VERS in
|
|
|
ubuntu-*|debian-*)
|
|
|
mkdir -p "${uWSGI_APPS_ENABLED}"
|
|
@@ -1183,11 +1189,8 @@ uWSGI_disable_app() {
|
|
|
# usage: uWSGI_disable_app <myapp.ini>
|
|
|
|
|
|
local CONF="$1"
|
|
|
- if [[ -z $CONF ]]; then
|
|
|
- err_msg "uWSGI_disable_app: missing arguments"
|
|
|
- return 42
|
|
|
- fi
|
|
|
|
|
|
+ [[ -z $CONF ]] && die_caller 42 "missing argument <myapp.ini>"
|
|
|
case $DIST_ID-$DIST_VERS in
|
|
|
ubuntu-*|debian-*)
|
|
|
service uwsgi stop "${CONF%.*}"
|