Skip to content

Instantly share code, notes, and snippets.

@tiagoamaro
Forked from jayzes/Procfile
Last active August 29, 2015 14:05
Show Gist options
  • Save tiagoamaro/f7e5cd34a74042f3541f to your computer and use it in GitHub Desktop.
Save tiagoamaro/f7e5cd34a74042f3541f to your computer and use it in GitHub Desktop.
foreman and thinking sphinx (3.x) [source: https://gist.github.com/madhums/1161840]
sphinx: bundle exec rake ts:run_in_background
namespace :ts do
task :run_in_background => [ 'ts:conf', 'ts:in' ] do
ts = ThinkingSphinx::Configuration.instance
# Workaround to make Sphinx die nicely:
# - PTY.spawn invokes bash -c under the covers
# - Which turns SIGTERM into SIGHUP (not sure exactly why, can't seem to find a reason)
# - Which sphinx interprets as a reload instead of a quit
# - So, we need to remap HUP to KILL for the purposes of this script.
unless pid = fork
exec "#{ts.bin_path}#{ts.searchd_binary_name} --pidfile --config #{ts.config_file} --nodetach"
end
trap("SIGHUP") { Process.kill(:TERM, pid) }
Process.wait
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment