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.

Reply via email to