diff --git a/apachesolr_multisitesearch.index.inc b/apachesolr_multisitesearch.index.inc index 46e303a..d39713f 100644 --- a/apachesolr_multisitesearch.index.inc +++ b/apachesolr_multisitesearch.index.inc @@ -3,16 +3,15 @@ function apachesolr_multisitesearch_refresh_metadata() { // Update meta data 1x per hour max. // Fetch meta data 1x per 5 minutes max. - // TODO - make these intervals controllable. $last_update = variable_get('apachesolr_multisitesearch_last_metadata_update', 0); $last_fetch = variable_get('apachesolr_multisitesearch_last_metadata_fetch', 0); - $time = time(); - if ($time - $last_update > 60*60) { + $time = REQUEST_TIME; + if ($time - $last_update > variable_get('apachesolr_multisitesearch_metadata_update_interval', 3600)) { if (apachesolr_multisitesearch_update_metadata()) { variable_set('apachesolr_multisitesearch_last_metadata_update', $time); } } - if ($time - $last_fetch > 60*5) { + if ($time - $last_fetch > variable_get('apachesolr_multisitesearch_metadata_fetch_interval', 300)) { apachesolr_multisitesearch_retrieve_metadata(); } $env_id = apachesolr_default_environment(); diff --git a/apachesolr_multisitesearch.install b/apachesolr_multisitesearch.install new file mode 100644 index 0000000..ecbd679 --- /dev/null +++ b/apachesolr_multisitesearch.install @@ -0,0 +1,12 @@ + 'fieldset', + '#title' => t('Multisite'), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + $form['multisite']['apachesolr_multisitesearch_metadata_update_interval'] = array( + '#type' => 'select', + '#title' => t('How often to push metadata updates from this site and commit them to Solr'), + '#options' => drupal_map_assoc(array(300, 900, 1800, 3600, 10800, 21600, 43200, 86400, 604800, 1209600, 2592000), 'format_interval'), + '#default_value' => variable_get('apachesolr_multisitesearch_metadata_update_interval', 3600), + ); + $form['multisite']['apachesolr_multisitesearch_metadata_fetch_interval'] = array( + '#type' => 'select', + '#title' => t('How often to fetch metadata data from the index'), + '#options' => drupal_map_assoc(array(300, 900, 1800, 3600, 10800, 21600, 43200, 86400, 604800), 'format_interval'), + '#default_value' => variable_get('apachesolr_multisitesearch_metadata_fetch_interval', 300), + ); +}