SearchUpdateQueuedJobProcessor
class SearchUpdateQueuedJobProcessor extends SearchUpdateBatchedProcessor implements QueuedJob (View source)
Traits
Provides extensions to this object to integrate it with standard config API methods.
Config options
batch_size | int | Maximum number of record-states to process in one batch. |
from SearchUpdateBatchedProcessor |
batch_soft_cap | int | Up to this number of additional ids can be added to any batch in order to reduce the number of batches |
from SearchUpdateBatchedProcessor |
reindex_queue | string | The QueuedJob queue to use when processing updates |
Properties
protected | array | $dirty | List of dirty records to process in format |
from SearchUpdateProcessor |
protected | array | $batches | List of batches to be processed |
from SearchUpdateBatchedProcessor |
protected | int | $currentBatch | Pointer to index of $batches assigned to $current. |
from SearchUpdateBatchedProcessor |
protected | array | $completedIndexes | List of indexes successfully comitted in the current batch |
from SearchUpdateBatchedProcessor |
protected | $messages |
Methods
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
Gets the uninherited value for the given config option
What type of job is this? Options are
- QueuedJob::IMMEDIATE
- QueuedJob::QUEUED
- QueuedJob::LARGE
Setup this queued job. This is only called the first time this job is executed (ie when currentStep is 0)
Sets data about the job
Details
__construct()
No description
addDirtyIDs($class, $statefulids, $index)
No description
protected array
prepareIndexes()
Generates the list of indexes to process for the dirty items
protected bool
commitIndex(SolrIndex $index)
Commits the specified index to the Solr service
protected array
getSource()
Gets the record data source to process
bool
process()
Process the current queue
triggerProcessing()
No description
static Config_ForClass
config()
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
mixed
stat(string $name)
deprecated
deprecated
Get inherited config value
mixed
uninherited(string $name)
Gets the uninherited value for the given config option
$this
set_stat(string $name, mixed $value)
deprecated
deprecated
Update the config value for a given property
protected
setBatch(int $batch)
Set the current batch index
protected array
segmentBatches(array $source)
Segments batches acording to the specified rules
batchData()
No description
string
getTitle()
Gets a title for the job that can be used in listings
string
getSignature()
Gets a unique signature for this job and its current parameters.
This is used so that a job isn't added to a queue multiple times - this for example, an indexing job might be added every time an item is saved, but it isn't processed immediately. We dont NEED to do the indexing more than once (ie the first indexing will still catch any subsequent changes), so we don't need to have it in the queue more than once.
If you have a job that absolutely must run multiple times, the AbstractQueuedJob class provides a time sensitive randomSignature() method that can be used for returning a random signature each time
getJobType()
What type of job is this? Options are
- QueuedJob::IMMEDIATE
- QueuedJob::QUEUED
- QueuedJob::LARGE
jobFinished()
Returns true or false to indicate that this job is finished
setup()
Setup this queued job. This is only called the first time this job is executed (ie when currentStep is 0)
prepareForRestart()
Called whenever a job is restarted for whatever reason.
This is a separate method so that broken jobs can do some fixup before restarting.
afterComplete()
No description
getJobData()
Return the current job state as an object containing data
stdClass ( 'totalSteps' => the total number of steps in this job - this is relayed to the user as an indicator of time 'currentStep' => the current number of steps done so far. 'isComplete' => whether the job is finished yet 'jobData' => data that the job wants persisted when it is stopped or started 'messages' => a cumulative array of messages that have occurred during this job so far )
setJobData(int $totalSteps, int $currentStep, bool $isComplete, stdClass $jobData, array $messages)
Sets data about the job
is an inverse of the getJobData() method, but being explicit about what data is set
addMessage(string $message, $severity = 'INFO')
Add an arbitrary text message into a job