Mercurial > kallithea
annotate init.d/kallithea-daemon-arch @ 5414:d9386a3924db
vcs: invalidate repo caches _after_ a push finishes
Caches were invalidated right after creating the result iterator, before
actually applying the change. Caches would thus be refreshed too early and soon
be outdated.
This bug was especially seen causing errors with missing revisions when
creating PRs right after pushing.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 20 Aug 2015 17:29:55 +0200 |
parents | 99ad9d0af1a3 |
children | e285bb7abb28 |
rev | line source |
---|---|
2114
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 #!/bin/bash |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 ########################################### |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3 #### THIS IS AN ARCH LINUX RC.D SCRIPT #### |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
4 ########################################### |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 . /etc/rc.conf |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
7 . /etc/rc.d/functions |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
8 |
4190
99ad9d0af1a3
Rename init scripts and fix references inside them
Bradley M. Kuhn <bkuhn@sfconservancy.org>
parents:
2114
diff
changeset
|
9 DAEMON=kallithea |
2114
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
10 APP_HOMEDIR="/srv" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
11 APP_PATH="$APP_HOMEDIR/$DAEMON" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12 CONF_NAME="production.ini" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13 LOG_FILE="/var/log/$DAEMON.log" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 PID_FILE="/run/daemons/$DAEMON" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 APPL=/usr/bin/paster |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
16 RUN_AS="*****" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
18 ARGS="serve --daemon \ |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 --user=$RUN_AS \ |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
20 --group=$RUN_AS \ |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21 --pid-file=$PID_FILE \ |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 --log-file=$LOG_FILE \ |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
23 $APP_PATH/$CONF_NAME" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
24 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
25 [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
27 if [[ -r $PID_FILE ]]; then |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
28 read -r PID < "$PID_FILE" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
29 if [[ $PID && ! -d /proc/$PID ]]; then |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
30 unset PID |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
31 rm_daemon $DAEMON |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
32 fi |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
33 fi |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
34 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
35 case "$1" in |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
36 start) |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
37 stat_busy "Starting $DAEMON" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
38 export HOME=$APP_PATH |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
39 [ -z "$PID" ] && $APPL $ARGS &>/dev/null |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
40 if [ $? = 0 ]; then |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
41 add_daemon $DAEMON |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
42 stat_done |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
43 else |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
44 stat_fail |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
45 exit 1 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
46 fi |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
47 ;; |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
48 stop) |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
49 stat_busy "Stopping $DAEMON" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
50 [ -n "$PID" ] && kill $PID &>/dev/null |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
51 if [ $? = 0 ]; then |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
52 rm_daemon $DAEMON |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
53 stat_done |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
54 else |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
55 stat_fail |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
56 exit 1 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
57 fi |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
58 ;; |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
59 restart) |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
60 $0 stop |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
61 sleep 1 |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
62 $0 start |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
63 ;; |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
64 status) |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
65 stat_busy "Checking $name status"; |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
66 ck_status $name |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
67 ;; |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
68 *) |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
69 echo "usage: $0 {start|stop|restart|status}" |
0dc18e9a3150
added arch example init.d
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
70 esac |