Good idea to have a thinking_sphinx role - if you want to fork and patch, and confirm it works for you, that'd be fantastic ;)
-- Pat On 24/06/2010, at 11:42 PM, Marcelo Barbudas wrote: > It's probably broken in those setups too, because they would be forced > to run the recipes in db, app, and whatever. The only place it works > is where people have just one server. > > In every recipe for capistrano out there you can see people > using :app. Delayed_Job has great working recipes that use :app. > > At least allow people to setup a thinking_sphinx_role and use that. > > On Jun 24, 1:28 pm, Alex Tomlins <[email protected]> > wrote: >> Hi, >> >> Making that change would break things for people who run sphinx on the >> database servers (or completely dedicated servers with a custom role). >> >> Personally I generally find it easier to roll my own deploy tasks that >> look something like this: >> >> namespace :deploy do >> namespace :sphinx do >> before "deploy:restart", "deploy:sphinx:index_and_restart" >> >> desc "Reindexes and restarts sphinx in new release dir" >> task :index_and_restart, :roles => :app do >> run "cd #{current_path} && rake RAILS_ENV=#{rails_env} >> thinking_sphinx:rebuild" >> end >> >> desc "Re-generates indexes and signals sphinx to reload" >> task :reindex, :roles => :app do >> run "cd #{current_path} && rake RAILS_ENV=#{rails_env} >> thinking_sphinx:reindex" >> end >> end >> end >> >> The reindex one is only for convienience, the deploy only actually uses >> the first one. I've found linking the db/sphinx directory to be >> unnecessary as the database is regenerated on every deploy. >> >> hope that's helpful, >> Alex >> >> On 24/06/2010 11:01, Marcelo Barbudas wrote: >> >> >> >> >> >>> Hi. >> >>> It seems the capistrano recipes are kindof old. I had two problems >>> with them: >> >>> 1) Running something like >>> task :after_update_code, :roles => [:app] do >>> thinking_sphinx.configure >>> end >> >>> Doesn't send :roles => [ :app ] to the underlying tasks. In my case TS >>> was being executed on all roles, including DB servers, and everything >>> crashed. >> >>> The proper fix is to include :roles => :app in the thinking_sphinx/lib/ >>> deploy/capistrano.rb to each task. >> >>> 2) :after_update(as mentioned >>> herehttp://freelancing-god.github.com/ts/en/deployment.html) >>> apparently is deprecated >> >>> This is what I'm using: >> >>> task :sphinx_stop, :roles => [:app] do >>> thinking_sphinx.stop >>> end >> >>> task :sphinx_start, :roles => [:app] do >>> symlink_sphinx_indexes >>> thinking_sphinx.start >>> end >> >>> task :symlink_sphinx_indexes, :roles => [:app] do >>> run "ln -nfs #{shared_path}/db/sphinx #{current_path}/db/sphinx" >>> end >> >>> before "deploy:update_code", "sphinx_stop" >>> after "deploy:update_code", "sphinx_start" >> >>> -- >>> M. >> >> -- >> Alex Tomlins >> Unboxed >> Consulting >> >> E: [email protected] >> <mailto:[email protected]> >> M: +44 78 2469 6890 >> T: +44 20 3137 2930 >> F: +44 20 7183 4251 >> >> 8 Elder Street >> London, E1 6BT >> United Kingdomwww.unboxedconsulting.com<http://www.unboxedconsulting.com> > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/thinking-sphinx?hl=en. > -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
