Установка псевдонимов bash для IRB? - PullRequest
0 голосов
/ 05 августа 2010

Таким образом, каждое утро для загрузки моего сервера мне нужно выполнять следующие задачи ..

>> sunspot-solr stop
>> sunspot-solr start
>> script/console
>> Organization.reindex
>> Event.reindex
>> Deal.reindex
>> exit
>> script/server

Есть ли способ сделать ярлык в моем ~ / .profile в качестве псевдонима для выполнениявсе это для меня без меня, печатать это каждый день?

Как это, хотя это не работает?

alias blam='cur && sunspot-solr stop && sunspot-solr start && script/console && Organization.reindex && Event.reindex && Deal.reindex && exit && script/server'

Ответы [ 2 ]

1 голос
/ 26 февраля 2011

Это мой первый пост в StackOverflow, и это старый вопрос, но я чувствовал, что могу как-то помочь: D Периодическая перестройка индекса Solr - очень дорогая задача, вы должны избегать подобных вещей на производстве!То, что вы ищете, может быть наилучшим образом достигнуто тремя способами:

1 - отредактируйте ваш sunspot.yml и добавьте строку

auto_commit_after_request = true

Это сообщит sunspotобновлять индекс каждый раз новая запись модели сохраняется (или удаляется).Это будет поддерживать ваш индекс обновленным, но может быть дорогостоящим.

2 - создайте задачу rake (может быть запущена с включенным cron в работнике DelayedJob), как это

task :update_index => :environment do <br> Sunspot.commit_if_dirty <br> end

Это намного дешевле, чем выполнение коммита после каждого обновления модели, но имейте в виду, что это создает проблему возможной согласованности вашего индекса, что хорошо для добавления, но может быть неприятно для удаления: это приведет к созданию потерянных записей вваш индекс.Это также проблема, связанная с третьим способом решения этой проблемы ->

3 - отредактируйте файл solrconfig.xml и установите для функции autoCommit произвольный интервал между фиксациями maxTime (не забудьте использоватьраз в миллисекундах).5 минут было бы неплохо для большинства приложений, но вы должны проверить это сами.

Надеюсь, это поможет!

1 голос
/ 05 августа 2010

Может быть, это немного ослабит боль?

#Rakefile
desc "Reindex the organizations, events, and deals Solr indexes."
task :reindex => :environment do
  Organization.reindex
  Event.reindex
  Deal.reindex
end

Затем каждое утро бегите

> sunspot-solr stop
> sunspot-solr start
> rake reindex
> script/server
...