production
1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/sh
set -e
if [ -e /etc/default/noosfero ]; then
. /etc/default/noosfero
fi
export RAILS_ENV=production
ACTION="$1"
if [ -z "$ACTION" ]; then
echo "usage: $0 start|stop|restart|run"
exit 1
fi
clear_cache() {
if test -w ./public; then
echo "Cleaning cache files"
rm -f ./public/javascripts/cache-*.js
rm -f ./public/stylesheets/cache.css
elif [ ! -z "$NOOSFERO_DATA_DIR" ] && [ -w "$NOOSFERO_DATA_DIR" ]; then
echo "Cleaning cache files"
rm -f $NOOSFERO_DATA_DIR/cache/cache-*.js
rm -f $NOOSFERO_DATA_DIR/cache/cache.css
fi
}
do_start() {
rake db:migrate SCHEMA=/dev/null
clear_cache
./script/ferret_server -e $RAILS_ENV start
environments_loop
ruby -S thin -C config/thin.yml start
}
do_stop() {
ruby -S thin -C config/thin.yml stop
./script/delayed_job stop
./script/feed-updater stop
./script/ferret_server -e $RAILS_ENV stop
}
environments_loop() {
environments=$(find ./config/environments -name *_$RAILS_ENV.rb)
if [ "$environments" ]; then
for environment in $environments; do
env=$(basename $environment | cut -d. -f1)
RAILS_ENV=$env ./script/delayed_job -i $env start
RAILS_ENV=$env ./script/feed-updater start -i $env
done
else
./script/delayed_job start
./script/feed-updater start
fi
}
case "$ACTION" in
start|stop)
do_$ACTION
;;
run)
do_start
echo "=> Running in production mode. Hit ctrl-C to stop."
trap do_stop INT TERM
tail -n 0 -f log/production.log || true
;;
restart)
do_stop
sleep 1
do_start
;;
*)
echo "usage: $0 start|stop|restart|run"
exit 1
;;
esac