Настройка псевдонимов Bash для IRB?
-
26-09-2019 - |
Вопрос
Поэтому каждое утро, чтобы загрузить мой сервер, мне нужно сделать следующие задачи.
>> 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'
Решение
Может быть, это ослабит некоторые боли?
#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
Другие советы
Это мой первый столбец Stackoverflow, и это старый вопрос, но я чувствовал, что смогу вносить вклад как-то: D Восстановление индекса Solr периодически является очень дорогой задачей, вам следует избегать делать такие вещи в производстве! То, что вы ищете, могут быть наилучшим образом достигнуты тремя способами:
1 - Отредактируйте вас Sunspot.yml и добавьте строку
auto_commit_after_request = true
Это скажет Sunspot для обновления индекса каждый раз Новая модель ввода сохраняется (или удалена). Это будет держать ваш индекс обновляться, но может быть дорогим.
2 - Создать задержку с граблями (можно бежать с CRON в работник задержки), как это
task :update_index => :environment do
Sunspot.commit_if_dirty
end
Это гораздо менее дороги, чем делать коммит после каждого обновления модели, но имейте в виду, что это представляет проблему возможной согласованности к вашему индексу, что в порядке для добавок, но может быть неприятным для удаления: он будет генерировать записи силовых веществ в вашем индексе. Отказ Это также проблема с третьим способом решить эту проблему ->
3 - Отредактируйте файл solrconfig.xml и установите autoCommit
особенность с А. maxTime
Произвольный интервал между коммитами (не забудьте использовать время в милисекунде). 5 минут было бы неплохо для большинства приложений, но вы должны проверить это самостоятельно.
Надеюсь это поможет!