Move discourse dev data out of tmp
Fix watch for restart so it works with puma
This commit is contained in:
parent
4fb335f1f0
commit
e7c2ad41ca
|
@ -10,6 +10,8 @@ dump.rdb
|
|||
|
||||
bin/*
|
||||
|
||||
data/
|
||||
|
||||
.sass-cache/*
|
||||
public/csv/*
|
||||
public/plugins/*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
SCRIPTPATH=$(cd "$(dirname "$0")"; pwd -P)
|
||||
SOURCE_DIR=$(cd "$SCRIPTPATH" && cd ../.. && pwd -P)
|
||||
DATA_DIR="$SOURCE_DIR/tmp/postgres"
|
||||
DATA_DIR="$SOURCE_DIR/data/postgres"
|
||||
|
||||
show_help() {
|
||||
cat <<EOF
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
SCRIPTPATH=$(cd "$(dirname "$0")"; pwd -P)
|
||||
SOURCE_DIR=$(cd "$SCRIPTPATH" && cd ../.. && pwd -P)
|
||||
DATA_DIR=$SOURCE_DIR/tmp/postgres
|
||||
DATA_DIR=$SOURCE_DIR/data/postgres
|
||||
|
||||
# Should this also run /etc/runit/1.d/ensure_database, or will that
|
||||
# happen automatically?
|
||||
|
|
|
@ -5,26 +5,38 @@
|
|||
#
|
||||
# This works fine for Discourse.org cause we host our app accross multiple machines, if you hosting
|
||||
# on a single machine you have a trickier problem at hand as you need to cycle the processes in order
|
||||
#
|
||||
|
||||
# VIM users rejoice, if you add this to your .vimrc CTRL-a will restart puma:
|
||||
# nmap <C-a> <Esc>:!touch tmp/restart<CR><CR>
|
||||
|
||||
Thread.new do
|
||||
file = "#{Rails.root}/tmp/restart"
|
||||
old_time = File.ctime(file).to_i if File.exists? file
|
||||
wait_seconds = 4
|
||||
|
||||
if $PROGRAM_NAME =~ /thin/
|
||||
while true
|
||||
time = File.ctime(file).to_i if File.exists? file
|
||||
if Rails.env.development? && $PROGRAM_NAME =~ /puma/
|
||||
require 'listen'
|
||||
|
||||
if old_time != time
|
||||
Rails.logger.info "attempting to reload #{$$} #{$PROGRAM_NAME} in #{wait_seconds} seconds"
|
||||
$shutdown = true
|
||||
sleep wait_seconds
|
||||
Rails.logger.info "restarting #{$$}"
|
||||
Process.kill("HUP", $$)
|
||||
break
|
||||
time = nil
|
||||
|
||||
begin
|
||||
listener = Listen.to("#{Rails.root}/tmp", only: /restart/) do
|
||||
|
||||
time = File.ctime(file).to_i if File.exists? file
|
||||
|
||||
if old_time != time
|
||||
Rails.logger.info "attempting to reload #{$$} #{$PROGRAM_NAME} in #{wait_seconds} seconds"
|
||||
$shutdown = true
|
||||
sleep wait_seconds
|
||||
Rails.logger.info "restarting #{$$}"
|
||||
Process.kill("USR2", $$)
|
||||
end
|
||||
end
|
||||
|
||||
sleep 1
|
||||
listener.start
|
||||
sleep
|
||||
rescue => e
|
||||
puts "Failed to watch for restart, this probably means the old postgres directory is in tmp, remove it #{e}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue