|
1 | 1 | #!/bin/bash
|
2 | 2 | #
|
3 | 3 | # GitLab
|
4 |
| -# Maintainer: @elvanja |
5 |
| -# App Version: 2.8.2 |
| 4 | +# Maintainer: @elvanja, @troyanov |
| 5 | +# App Version: 4.0 |
6 | 6 |
|
7 | 7 | # chkconfig: 2345 82 55
|
8 | 8 | # processname: unicorn
|
@@ -36,62 +36,81 @@ OPTS="-c $APP_PATH/config/unicorn.rb -E production -D"
|
36 | 36 | RUBY_PATH_PATCH="PATH=$PATH:/usr/local/bin:/usr/local/lib && export PATH && "
|
37 | 37 |
|
38 | 38 | start() {
|
39 |
| - cd $APP_PATH |
40 |
| - |
41 |
| - # Start unicorn |
42 |
| - echo -n $"Starting unicorn: " |
43 |
| - daemon --pidfile=$UPID --user=$USER "$RUBY_PATH_PATCH bundle exec unicorn_rails $OPTS" |
44 |
| - [ $? -eq 0 ] && touch $ULOCK |
45 |
| - echo |
46 |
| - |
47 |
| - # Start resque |
48 |
| - echo -n $"Starting resque: " |
49 |
| - daemon --pidfile=$RPID --user=$USER "$RUBY_PATH_PATCH ./resque.sh" |
50 |
| - [ $? -eq 0 ] && touch $RLOCK |
51 |
| - echo |
| 39 | + cd $APP_PATH |
| 40 | + |
| 41 | + # Start unicorn |
| 42 | + echo -n $"Starting unicorn: " |
| 43 | + daemon --pidfile=$UPID --user=$USER "$RUBY_PATH_PATCH bundle exec unicorn_rails $OPTS" |
| 44 | + unicorn=$? |
| 45 | + [ $unicorn -eq 0 ] && touch $ULOCK |
| 46 | + echo |
| 47 | + |
| 48 | + # Start resque |
| 49 | + echo -n $"Starting resque: " |
| 50 | + daemon --pidfile=$RPID --user=$USER "$RUBY_PATH_PATCH ./resque.sh" |
| 51 | + resque=$? |
| 52 | + [ $resque -eq 0 ] && touch $RLOCK |
| 53 | + echo |
| 54 | + |
| 55 | + retval=$unicorn || $resque |
| 56 | + return $retval |
52 | 57 | }
|
53 | 58 |
|
54 | 59 | stop() {
|
55 |
| - cd $APP_PATH |
56 |
| - |
57 |
| - # Stop unicorn |
58 |
| - echo -n $"Stopping unicorn: " |
59 |
| - killproc -p $UPID |
60 |
| - [ $? -eq 0 ] && rm -f $ULOCK |
61 |
| - echo |
62 |
| - |
63 |
| - # Stop resque |
64 |
| - echo -n $"Stopping resque: " |
65 |
| - killproc -p $RPID |
66 |
| - [ $? -eq 0 ] && rm -f $RLOCK |
67 |
| - echo |
| 60 | + cd $APP_PATH |
| 61 | + |
| 62 | + # Stop unicorn |
| 63 | + echo -n $"Stopping unicorn: " |
| 64 | + killproc -p $UPID |
| 65 | + unicorn=$? |
| 66 | + [ $unicorn -eq 0 ] && rm -f $ULOCK |
| 67 | + echo |
| 68 | + |
| 69 | + # Stop resque |
| 70 | + echo -n $"Stopping resque: " |
| 71 | + killproc -p $RPID |
| 72 | + resque=$? |
| 73 | + [ $resque -eq 0 ] && rm -f $RLOCK |
| 74 | + echo |
| 75 | + |
| 76 | + retval=$unicorn || $resque |
| 77 | + return $retval |
68 | 78 | }
|
69 | 79 |
|
70 |
| -c_status() { |
71 |
| - status -p $UPID unicorn |
72 |
| - status -p $RPID resque |
| 80 | +restart() { |
| 81 | + stop |
| 82 | + start |
| 83 | +} |
| 84 | + |
| 85 | +get_status() { |
| 86 | + status -p $UPID unicorn |
| 87 | + status -p $RPID resque |
| 88 | +} |
| 89 | + |
| 90 | +query_status() { |
| 91 | + get_status >/dev/null 2>&1 |
73 | 92 | }
|
74 | 93 |
|
75 | 94 | case "$1" in
|
76 |
| - start) |
77 |
| - start |
78 |
| - ;; |
79 |
| - stop) |
80 |
| - stop |
81 |
| - ;; |
82 |
| - status) |
83 |
| - c_status |
84 |
| - ;; |
85 |
| - restart) |
86 |
| - stop |
87 |
| - start |
88 |
| - ;; |
89 |
| - *) |
90 |
| - N=/etc/init.d/$NAME |
91 |
| - echo "Usage: $N {start|stop|status|restart)" >&2 |
92 |
| - exit 1 |
93 |
| - ;; |
| 95 | + start) |
| 96 | + query_status && exit 0 |
| 97 | + start |
| 98 | + ;; |
| 99 | + stop) |
| 100 | + query_status || exit 0 |
| 101 | + stop |
| 102 | + ;; |
| 103 | + restart) |
| 104 | + restart |
| 105 | + ;; |
| 106 | + status) |
| 107 | + get_status |
| 108 | + ;; |
| 109 | + *) |
| 110 | + N=/etc/init.d/$NAME |
| 111 | + echo "Usage: $N {start|stop|restart|status}" >&2 |
| 112 | + exit 1 |
| 113 | + ;; |
94 | 114 | esac
|
95 | 115 |
|
96 | 116 | exit 0
|
97 |
| - |
|
0 commit comments