Acts_as_ferret and capistrano

Hi,

I’d like to share the ferret indexes between deployments of a Rails app.
At the moment the index is stored in #{RAILS_ROOT}/index meaning that it
gets moved and must be rebuilt after every deploy. I guess the simplest
solution would be to put it under log/ which is already shared by
capistrano, any other ideas?

Also, script/ferret_stop doesn’t work when run on a fresh deploy without
a index/ dir. It gives an error like:

/home/jviney/Workspace/balrog/vendor/plugins/acts_as_ferret/lib/act_methods.rb:1
88:in `open’:Errno::ENOENT: No such file or directory -
/home/jviney/Workspace/b
alrog/index/production/person

Even though it is set up to use DRb, it wrongly expects the index to be
present. Aaf shouldn’t do anything with a local index when it is
supposed to be using DRb. The “unless options[:remote]” block in
act_methods.rb (line 136) should extend down to logger.debug five lines
later to avoid the call to find_last_index_version.

Cheers,
-Jonathan.

On Thu, Jun 28, 2007 at 02:36:51PM +0200, Jonathan V. wrote:

Hi,

I’d like to share the ferret indexes between deployments of a Rails app.
At the moment the index is stored in #{RAILS_ROOT}/index meaning that it
gets moved and must be rebuilt after every deploy. I guess the simplest
solution would be to put it under log/ which is already shared by
capistrano, any other ideas?

I usually create my index directory once in shared/index and symlink
this to current/index in an after_update_code task.

supposed to be using DRb. The “unless options[:remote]” block in
act_methods.rb (line 136) should extend down to logger.debug five lines
later to avoid the call to find_last_index_version.

good point, I just committed this.

Jens


Jens Krämer
webit! Gesellschaft für neue Medien mbH
Schnorrstraße 76 | 01069 Dresden
Telefon +49 351 46766-0 | Telefax +49 351 46766-66
[email protected] | www.webit.de

Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa

I usually create my index directory once in shared/index and symlink
this to current/index in an after_update_code task.

Sounds pretty good. It would be nice to include all the necessary
capistrano tasks in the plugin.

supposed to be using DRb. The “unless options[:remote]” block in
act_methods.rb (line 136) should extend down to logger.debug five lines
later to avoid the call to find_last_index_version.

good point, I just committed this.

Cheers,
-Jonathan.

For the time being, the Palmtree project seems to contain Cap 2.0
recipes for Ferret:

http://rubyforge.org/projects/palmtree/

Jens

On Fri, Jun 29, 2007 at 02:05:07AM +0200, Jonathan V. wrote:

good point, I just committed this.
http://rubyforge.org/mailman/listinfo/ferret-talk


Jens Krämer
webit! Gesellschaft für neue Medien mbH
Schnorrstraße 76 | 01069 Dresden
Telefon +49 351 46766-0 | Telefax +49 351 46766-66
[email protected] | www.webit.de

Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa