annotate bin/sat @ 2846:58ea675d0f05

quick frontend (app): added AUTO_RESYNC attribute in QuickApp, when set (default) the resync method is called on all widgets automatically: if AUTO_RESYNC is False, frontend must call itself the resync method. This is useful to improve performance, resynchronising all widgets at once may be resource intensive, and it may be more efficient to resync a widget only when it is visible.
author Goffi <goffi@goffi.org>
date Sun, 10 Mar 2019 18:02:42 +0100
parents 26edcf3a30eb
children ab2696e34d29
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
3c1cefd41186 added sat executable
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/bin/sh
225
fd9b7834d98a distutils installation script, draft
Goffi <goffi@goffi.org>
parents: 223
diff changeset
2
249
0ed5553b5313 added "debug" command to sat launcher script
Goffi <goffi@goffi.org>
parents: 234
diff changeset
3 DEBUG=""
1115
b56374a1f6d6 misc: daemon mode refactoring:
Goffi <goffi@goffi.org>
parents: 1114
diff changeset
4 DAEMON=""
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
5 PYTHON="python2"
2438
a34b4fca16e2 core (sat.sh): force python 2 to launch twistd, and avoid launching wrong version if twistd is installed for python 3 too
Goffi <goffi@goffi.org>
parents: 1878
diff changeset
6 TWISTD="$(which twistd)"
234
a7079e835432 added stop command in sat.sh launching script
Goffi <goffi@goffi.org>
parents: 226
diff changeset
7
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
8 kill_process() {
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
9 # $1 is the file containing the PID to kill, $2 is the process name
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
10 if [ -f $1 ]; then
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
11 PID=`cat $1`
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
12 if ps -p $PID > /dev/null; then
1878
7a07f232e7cb misc (sat.sh): exec + better stop:
Goffi <goffi@goffi.org>
parents: 1548
diff changeset
13 printf "Terminating $2... "
1548
61c03265e133 launching script: use SIGTERM instead of SIGINT with the “stop” command
Goffi <goffi@goffi.org>
parents: 1151
diff changeset
14 kill $PID
1878
7a07f232e7cb misc (sat.sh): exec + better stop:
Goffi <goffi@goffi.org>
parents: 1548
diff changeset
15 while ps -p $PID > /dev/null; do
7a07f232e7cb misc (sat.sh): exec + better stop:
Goffi <goffi@goffi.org>
parents: 1548
diff changeset
16 sleep 0.2
7a07f232e7cb misc (sat.sh): exec + better stop:
Goffi <goffi@goffi.org>
parents: 1548
diff changeset
17 done
7a07f232e7cb misc (sat.sh): exec + better stop:
Goffi <goffi@goffi.org>
parents: 1548
diff changeset
18 printf "OK\n"
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
19 else
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
20 echo "No running process of ID $PID... removing PID file"
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
21 rm -f $1
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
22 fi
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
23 else
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
24 echo "$2 is probably not running (PID file doesn't exist)"
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
25 fi
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
26 }
4
3c1cefd41186 added sat executable
Goffi <goffi@goffi.org>
parents:
diff changeset
27
369
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
28 #We use python to parse config files
473
a11cde0cdf5b misc: Make the shell launcher use the same python interpreter than setup.py.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 463
diff changeset
29 eval `"$PYTHON" << PYTHONEND
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
30 from sat.core.constants import Const as C
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
31 from sat.memory.memory import fixLocalDir
369
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
32 from ConfigParser import SafeConfigParser
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
33 from os.path import expanduser, join
463
ac568832a71a fixed lauching script
Goffi <goffi@goffi.org>
parents: 369
diff changeset
34 import sys
1114
7293233970ab misc: stdout encoding management in python part of sat.sh
Goffi <goffi@goffi.org>
parents: 1003
diff changeset
35 import codecs
7293233970ab misc: stdout encoding management in python part of sat.sh
Goffi <goffi@goffi.org>
parents: 1003
diff changeset
36 import locale
7293233970ab misc: stdout encoding management in python part of sat.sh
Goffi <goffi@goffi.org>
parents: 1003
diff changeset
37
7293233970ab misc: stdout encoding management in python part of sat.sh
Goffi <goffi@goffi.org>
parents: 1003
diff changeset
38 sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout)
369
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
39
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
40 fixLocalDir() # XXX: tmp update code, will be removed in the future
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
41
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
42 config = SafeConfigParser(defaults=C.DEFAULT_CONFIG)
369
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
43 try:
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
44 config.read(C.CONFIG_FILES)
369
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
45 except:
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
46 print ("echo \"/!\\ Can't read main config ! Please check the syntax\";")
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
47 print ("exit 1")
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
48 sys.exit()
463
ac568832a71a fixed lauching script
Goffi <goffi@goffi.org>
parents: 369
diff changeset
49
ac568832a71a fixed lauching script
Goffi <goffi@goffi.org>
parents: 369
diff changeset
50 env=[]
ac568832a71a fixed lauching script
Goffi <goffi@goffi.org>
parents: 369
diff changeset
51 env.append("PID_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'pid_dir')),''))
930
cbf4122baae7 core, memory: use XDG recommended paths as the defaults for the config and local directories
souliane <souliane@mailoo.org>
parents: 587
diff changeset
52 env.append("LOG_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'log_dir')),''))
1114
7293233970ab misc: stdout encoding management in python part of sat.sh
Goffi <goffi@goffi.org>
parents: 1003
diff changeset
53 env.append("APP_NAME='%s'" % C.APP_NAME)
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
54 env.append("APP_NAME_FILE='%s'" % C.APP_NAME_FILE)
463
ac568832a71a fixed lauching script
Goffi <goffi@goffi.org>
parents: 369
diff changeset
55 print ";".join(env)
369
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
56 PYTHONEND
e83d0c21d64d launching script now read config files
Goffi <goffi@goffi.org>
parents: 358
diff changeset
57 `
1114
7293233970ab misc: stdout encoding management in python part of sat.sh
Goffi <goffi@goffi.org>
parents: 1003
diff changeset
58 APP_NAME="$APP_NAME"
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
59 PID_FILE="$PID_DIR$APP_NAME_FILE.pid"
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
60 LOG_FILE="$LOG_DIR$APP_NAME_FILE.log"
1151
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
61 RUNNING_MSG="$APP_NAME is running"
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
62 NOT_RUNNING_MSG="$APP_NAME is *NOT* running"
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
63
2562
26edcf3a30eb core, setup: huge cleaning:
Goffi <goffi@goffi.org>
parents: 2438
diff changeset
64 # if there is one argument which is "stop", then we kill SaT
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
65 if [ $# -eq 1 ];then
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
66 if [ $1 = "stop" ];then
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
67 kill_process $PID_FILE "$APP_NAME"
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
68 exit 0
1115
b56374a1f6d6 misc: daemon mode refactoring:
Goffi <goffi@goffi.org>
parents: 1114
diff changeset
69 elif [ $1 = "debug" ];then
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 931
diff changeset
70 echo "Launching $APP_NAME in debug mode"
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
71 DEBUG="--debug"
1115
b56374a1f6d6 misc: daemon mode refactoring:
Goffi <goffi@goffi.org>
parents: 1114
diff changeset
72 elif [ $1 = "fg" ];then
b56374a1f6d6 misc: daemon mode refactoring:
Goffi <goffi@goffi.org>
parents: 1114
diff changeset
73 echo "Launching $APP_NAME in foreground mode"
b56374a1f6d6 misc: daemon mode refactoring:
Goffi <goffi@goffi.org>
parents: 1114
diff changeset
74 DAEMON="n"
1151
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
75 elif [ $1 = "status" ];then
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
76 if [ -f $PID_FILE ]; then
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
77 PID=`cat $PID_FILE`
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
78 ps -p$PID 2>&1 > /dev/null
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
79 if [ $? = 0 ];then
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
80 echo "$RUNNING_MSG (pid: $PID)"
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
81 exit 0
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
82 else
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
83 echo "$NOT_RUNNING_MSG, but a pid file is present (bad exit ?): $PID_FILE"
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
84 exit 2
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
85 fi
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
86 else
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
87 echo "$NOT_RUNNING_MSG"
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
88 exit 1
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
89 fi
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
90 else
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
91 echo "bad argument, please use one of (stop, debug, fg, status) or no argument"
02c26e6630d0 misc (launch script): added a "status" command
Goffi <goffi@goffi.org>
parents: 1122
diff changeset
92 exit 1
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
93 fi
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
94 fi
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
95
1122
9ae01ccf89c1 core: sat bakcend is now a twisted plugin (no more .tac file)
Goffi <goffi@goffi.org>
parents: 1115
diff changeset
96 MAIN_OPTIONS="-${DAEMON}o"
225
fd9b7834d98a distutils installation script, draft
Goffi <goffi@goffi.org>
parents: 223
diff changeset
97
1122
9ae01ccf89c1 core: sat bakcend is now a twisted plugin (no more .tac file)
Goffi <goffi@goffi.org>
parents: 1115
diff changeset
98 #Don't change the next lines
225
fd9b7834d98a distutils installation script, draft
Goffi <goffi@goffi.org>
parents: 223
diff changeset
99 AUTO_OPTIONS=""
249
0ed5553b5313 added "debug" command to sat launcher script
Goffi <goffi@goffi.org>
parents: 234
diff changeset
100 ADDITIONAL_OPTIONS="--pidfile $PID_FILE --logfile $LOG_FILE $AUTO_OPTIONS $DEBUG"
225
fd9b7834d98a distutils installation script, draft
Goffi <goffi@goffi.org>
parents: 223
diff changeset
101
226
d8bb72f00eec distutils install: fixed plugin import and log file path
Goffi <goffi@goffi.org>
parents: 225
diff changeset
102 log_dir=`dirname "$LOG_FILE"`
d8bb72f00eec distutils install: fixed plugin import and log file path
Goffi <goffi@goffi.org>
parents: 225
diff changeset
103 if [ ! -d $log_dir ] ; then
931
3b30e9f83d88 misc: sat stop would not kill all sat instances anymore
souliane <souliane@mailoo.org>
parents: 930
diff changeset
104 mkdir $log_dir
226
d8bb72f00eec distutils install: fixed plugin import and log file path
Goffi <goffi@goffi.org>
parents: 225
diff changeset
105 fi
d8bb72f00eec distutils install: fixed plugin import and log file path
Goffi <goffi@goffi.org>
parents: 225
diff changeset
106
2438
a34b4fca16e2 core (sat.sh): force python 2 to launch twistd, and avoid launching wrong version if twistd is installed for python 3 too
Goffi <goffi@goffi.org>
parents: 1878
diff changeset
107 exec $PYTHON $TWISTD $MAIN_OPTIONS $ADDITIONAL_OPTIONS $APP_NAME_FILE