SS 4.0 - Upgrade search processors and remove MessageQueue as not maintained

This commit is contained in:
Brett Tasker 2017-04-26 23:09:47 +12:00
parent 695b2d2fc3
commit 8e07d4a5c6
4 changed files with 30 additions and 24 deletions

View File

@ -1,5 +1,9 @@
<?php <?php
namespace SilverStripe\FullTextSearch\Search\Processors; namespace SilverStripe\FullTextSearch\Search\Processors;
use SilverStripe\Core\Config\Config;
/** /**
* Provides batching of search updates * Provides batching of search updates
*/ */

View File

@ -1,9 +1,22 @@
<?php <?php
namespace SilverStripe\FullTextSearch\Search\Processors; namespace SilverStripe\FullTextSearch\Search\Processors;
if (!interface_exists('QueuedJob')) {
use SilverStripe\FullTextSearch\Search\FullTextSearch;
use SilverStripe\Core\Config\Config;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\ORM\FieldType\DBDatetime;
use DateTime;
use DateInterval;
use stdClass;
if (!interface_exists('SilverStripe\QueuedJobs\Services\QueuedJob')) {
return; return;
} }
use SilverStripe\QueuedJobs\Services\QueuedJob;
use SilverStripe\QueuedJobs\Services\QueuedJobService;
class SearchUpdateCommitJobProcessor implements QueuedJob class SearchUpdateCommitJobProcessor implements QueuedJob
{ {
/** /**
@ -81,7 +94,7 @@ class SearchUpdateCommitJobProcessor implements QueuedJob
public static function queue($dirty = true, $startAfter = null) public static function queue($dirty = true, $startAfter = null)
{ {
$commit = Injector::inst()->create(__CLASS__); $commit = Injector::inst()->create(__CLASS__);
$id = singleton('QueuedJobService')->queueJob($commit, $startAfter); $id = singleton(QueuedJobService::class)->queueJob($commit, $startAfter);
if ($dirty) { if ($dirty) {
$indexes = FullTextSearch::get_indexes(); $indexes = FullTextSearch::get_indexes();
@ -159,7 +172,7 @@ class SearchUpdateCommitJobProcessor implements QueuedJob
// This could occur if we completed a searchupdate job in a prior request, as well as in // This could occur if we completed a searchupdate job in a prior request, as well as in
// the current request // the current request
$cooldown = Config::inst()->get(__CLASS__, 'cooldown'); $cooldown = Config::inst()->get(__CLASS__, 'cooldown');
$now = new DateTime(SS_Datetime::now()->getValue()); $now = new DateTime(DBDatetime::now()->getValue());
$now->add(new DateInterval('PT'.$cooldown.'S')); $now->add(new DateInterval('PT'.$cooldown.'S'));
$runat = $now->Format('Y-m-d H:i:s'); $runat = $now->Format('Y-m-d H:i:s');

View File

@ -1,19 +0,0 @@
<?php
namespace SilverStripe\FullTextSearch\Search\Processors;
class SearchUpdateMessageQueueProcessor extends SearchUpdateProcessor
{
/**
* The MessageQueue to use when processing updates
* @config
* @var string
*/
private static $reindex_queue = "search_indexing";
public function triggerProcessing()
{
MessageQueue::send(
Config::inst()->get('SearchMessageQueueUpdater', 'reindex_queue'),
new MethodInvocationMessage($this, "process")
);
}
}

View File

@ -1,9 +1,17 @@
<?php <?php
namespace SilverStripe\FullTextSearch\Search\Processors; namespace SilverStripe\FullTextSearch\Search\Processors;
if (!interface_exists('QueuedJob')) {
use SilverStripe\Core\Config\Config;
use stdClass;
if (!interface_exists('SilverStripe\QueuedJobs\Services\QueuedJob')) {
return; return;
} }
use SilverStripe\QueuedJobs\Services\QueuedJob;
use SilverStripe\QueuedJobs\Services\QueuedJobService;
class SearchUpdateQueuedJobProcessor extends SearchUpdateBatchedProcessor implements QueuedJob class SearchUpdateQueuedJobProcessor extends SearchUpdateBatchedProcessor implements QueuedJob
{ {
/** /**
@ -18,7 +26,7 @@ class SearchUpdateQueuedJobProcessor extends SearchUpdateBatchedProcessor implem
public function triggerProcessing() public function triggerProcessing()
{ {
parent::triggerProcessing(); parent::triggerProcessing();
singleton('QueuedJobService')->queueJob($this); singleton(QueuedJobService::class)->queueJob($this);
} }
public function getTitle() public function getTitle()