Skip to content
Snippets Groups Projects
Commit a93c6ee6 authored by srosse's avatar srosse
Browse files

OO-1223: directly start the indexer if the cron job is disabled

parent edb40f14
No related branches found
No related tags found
No related merge requests found
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<property name="lifeIndexer" ref="jmsIndexer"/> <property name="lifeIndexer" ref="jmsIndexer"/>
<property name="metadataFields" ref="SearchMetadataFieldsProvider" /> <property name="metadataFields" ref="SearchMetadataFieldsProvider" />
<property name="searchExecutor" ref="searchExecutor" /> <property name="searchExecutor" ref="searchExecutor" />
<property name="indexerCron" value="${search.indexing.cronjob}" />
</bean> </bean>
<bean id="searchExecutor" class="org.springframework.core.task.support.ExecutorServiceAdapter"> <bean id="searchExecutor" class="org.springframework.core.task.support.ExecutorServiceAdapter">
......
...@@ -101,6 +101,7 @@ public class SearchServiceImpl implements SearchService, GenericEventListener { ...@@ -101,6 +101,7 @@ public class SearchServiceImpl implements SearchService, GenericEventListener {
private SearchSpellChecker searchSpellChecker; private SearchSpellChecker searchSpellChecker;
private String indexPath; private String indexPath;
private String permanentIndexPath; private String permanentIndexPath;
private String indexerCron;
/** Counts number of search queries since last restart. */ /** Counts number of search queries since last restart. */
private long queryCount = 0; private long queryCount = 0;
...@@ -152,6 +153,14 @@ public class SearchServiceImpl implements SearchService, GenericEventListener { ...@@ -152,6 +153,14 @@ public class SearchServiceImpl implements SearchService, GenericEventListener {
this.lifeIndexer = lifeIndexer; this.lifeIndexer = lifeIndexer;
} }
/**
* [used by Spring]
* @param indexerCron
*/
public void setIndexerCron(String indexerCron) {
this.indexerCron = indexerCron;
}
protected MainIndexer getMainIndexer() { protected MainIndexer getMainIndexer() {
return mainIndexer; return mainIndexer;
} }
...@@ -169,7 +178,13 @@ public class SearchServiceImpl implements SearchService, GenericEventListener { ...@@ -169,7 +178,13 @@ public class SearchServiceImpl implements SearchService, GenericEventListener {
try { try {
JobDetail detail = scheduler.getJobDetail("org.olat.search.job.enabled", Scheduler.DEFAULT_GROUP); JobDetail detail = scheduler.getJobDetail("org.olat.search.job.enabled", Scheduler.DEFAULT_GROUP);
scheduler.triggerJob(detail.getName(), detail.getGroup()); if(detail == null) {
if("disabled".equals(indexerCron)) {
indexer.startFullIndex();
}
} else {
scheduler.triggerJob(detail.getName(), detail.getGroup());
}
log.info("startIndexing..."); log.info("startIndexing...");
} catch (SchedulerException e) { } catch (SchedulerException e) {
log.error("Error trigerring the indexer job: ", e); log.error("Error trigerring the indexer job: ", e);
...@@ -185,7 +200,13 @@ public class SearchServiceImpl implements SearchService, GenericEventListener { ...@@ -185,7 +200,13 @@ public class SearchServiceImpl implements SearchService, GenericEventListener {
try { try {
JobDetail detail = scheduler.getJobDetail("org.olat.search.job.enabled", Scheduler.DEFAULT_GROUP); JobDetail detail = scheduler.getJobDetail("org.olat.search.job.enabled", Scheduler.DEFAULT_GROUP);
scheduler.interrupt(detail.getName(), detail.getGroup()); if(detail == null) {
if("disabled".equals(indexerCron)) {
indexer.stopFullIndex();
}
} else {
scheduler.interrupt(detail.getName(), detail.getGroup());
}
log.info("stopIndexing."); log.info("stopIndexing.");
} catch (SchedulerException e) { } catch (SchedulerException e) {
log.error("Error interrupting the indexer job: ", e); log.error("Error interrupting the indexer job: ", e);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment