If I change my method 

  def init_thinking_sphinx
    ThinkingSphinx::Test.stop
    delete_indices_files
    ThinkingSphinx::Test.init
    ThinkingSphinx::Test.start
    generate
  end

all works, but start and stop searchd for every test is slow. In your 
opinion is there a way to do without restarting searchd? Thanks for your 
help! ... again :D


Il giorno venerdì 14 marzo 2014 01:06:41 UTC+1, Pat Allan ha scritto:
>
> Hi Enrico
>
> The start_with_autostop method means that the daemon stops after the 
> entire test process has finished. This also means that even though you’ve 
> deleted the index files, Sphinx will still have the old data loaded 
> (real-time indices are largely stored in RAM).
>
> Could you try with the examples of my previous post in this thread 
> instead, while using the latest version of TS from the develop branch?
>
> You shouldn’t need a generate method - the callbacks will automatically 
> populate data.
>
> — 
> Pat
>
> On 14 Mar 2014, at 2:14 am, Enrico Pilotto <[email protected] <javascript:>> 
> wrote:
>
> Hi, I've similar issue with tests and Thinking Sphinx with Real Time 
> indices.
> I've a test helper: sphinx_helper.rb like this:
>
> module SphinxHelper
>   def init_thinking_sphinx
>     delete_indeces_files
>     ThinkingSphinx::Test.init
>     ThinkingSphinx::Test.start_with_autostop
>     generate
>   end
>
>   def generate
>     
> ActiveSupport::Notifications.unsubscribe('start_populating.thinking_sphinx.real_time')
>     
> ActiveSupport::Notifications.unsubscribe('populated.thinking_sphinx.real_time')
>     
> ActiveSupport::Notifications.unsubscribe('finish_populating.thinking_sphinx.real_time')
>     indices = ThinkingSphinx::Configuration.instance.indices.select { 
> |index| index.type == 'rt' }
>     indices.each do |index|
>       ThinkingSphinx::RealTime::Populator.populate index
>     end
>   end
>
>   def delete_indeces_files
>     # FileUtils.rm_rf(ThinkingSphinx::Test.config.indices_location)
>     Dir[Rails.root.join(ThinkingSphinx::Test.config.indices_location, 
> '*.{meta,ram}')].each do |file|
>       FileUtils.rm_rf(file)
>     end
>   end
>
> end
>
> In tests that use ts in setup method I call the method init_thinking_sphinx 
> that delete indices, init ts, start ts and generate indices. All seems 
> works if I run unit tests and integration tests separately. But if I run 
> all my test (unit and integration) with rake test I get the error 
> ThinkingSphinx::Search::StaleIdsException: 
> Record IDs found by Sphinx but not by ActiveRecord ONLY on integration 
> test that use thinking sphinx. If I run integration tests alone, I get no 
> errors.
>
> Thx for reply!
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected]<javascript:>
> .
> Visit this group at http://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to