Nikerabbit has uploaded a new change for review. https://gerrit.wikimedia.org/r/225838
Change subject: Use QueryAggregator with TTMServer if possible ...................................................................... Use QueryAggregator with TTMServer if possible Call back via API if the service is public. Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9 --- M translationaids/TTMServerAid.php M webservices/RemoteTTMServerWebService.php M webservices/TranslationWebService.php 3 files changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate refs/changes/38/225838/1 diff --git a/translationaids/TTMServerAid.php b/translationaids/TTMServerAid.php index c628196..45ecbca 100644 --- a/translationaids/TTMServerAid.php +++ b/translationaids/TTMServerAid.php @@ -31,9 +31,14 @@ $from = $this->group->getSourceLanguage(); $to = $this->handle->getCode(); - // "Local" queries using some client can't be run in parallel with web services + // "Local" queries using a client can't be run in parallel with web services global $wgTranslateTranslationServices; foreach ( $wgTranslateTranslationServices as $name => $config ) { + // Except if they are public, we can call back via API + if ( $config['public'] === true ) { + continue; + } + $server = TTMServer::factory( $config ); try { diff --git a/webservices/RemoteTTMServerWebService.php b/webservices/RemoteTTMServerWebService.php index 09bc1aa..ca713d5 100644 --- a/webservices/RemoteTTMServerWebService.php +++ b/webservices/RemoteTTMServerWebService.php @@ -33,10 +33,13 @@ 'action' => 'ttmserver', 'sourcelanguage' => $from, 'targetlanguage' => $to, - 'text' => $text, - '*', // Because we hate IE + 'text' => $text ); + if ( isset( $this->config['service'] ) ) { + $params['service'] = $this->config['service']; + } + return TranslationQuery::factory( $this->config['url'] ) ->timeout( $this->config['timeout'] ) ->queryParamaters( $params ); diff --git a/webservices/TranslationWebService.php b/webservices/TranslationWebService.php index e363fa5..4adc603 100644 --- a/webservices/TranslationWebService.php +++ b/webservices/TranslationWebService.php @@ -40,6 +40,20 @@ $config['timeout'] = 3; } + // Alter local ttmserver instance to appear as remote + // to take advantage of the query aggregator. But only + // if they are public. + if ( + isset( $config['class'] ) && + $config['class'] === 'ElasticSearchTTMServer' && + isset( $config['public'] ) && + $config['public'] === true + ) { + $config['type'] = 'remote-ttmserver'; + $config['service'] = $name; + $config['url'] = wfExpandURl( wfScript( 'api' ), PROTO_CANONICAL ); + } + if ( isset( $handlers[$config['type']] ) ) { $class = $handlers[$config['type']]; -- To view, visit https://gerrit.wikimedia.org/r/225838 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Translate Gerrit-Branch: master Gerrit-Owner: Nikerabbit <niklas.laxst...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits