updateDataObject makes blocking calls to the (external) search provider.
updateData is async:
|
$dataObject = $event->getObject(); |
|
Service::useInheritedValues(true, fn () => |
|
$this->indexQueueService |
|
->updateIndexQueue( |
|
$dataObject, |
|
IndexQueueOperation::UPDATE->value, |
|
$this->synchronousProcessing->isEnabled(), |
|
$dataObject->hasChildren(includingUnpublished: true), |
|
$this->synchronousProcessingRelatedIds->isEnabled() === false |
|
) |
|
->commit() |
|
); |
|
|
|
$this->queueMessagesDispatcher->dispatchQueueMessages(); |
but updateSiblings is not:
|
if ($newIndex === $this->getIndexedIndex($element) |
this can cause significant slowdowns with object updates, especially for large folders.
updateDataObjectmakes blocking calls to the (external) search provider.updateDatais async:generic-data-index-bundle/src/EventSubscriber/DataObjectIndexUpdateSubscriber.php
Lines 106 to 119 in 159caeb
but
updateSiblingsis not:generic-data-index-bundle/src/Service/SearchIndex/IndexElementIndexService.php
Line 51 in 159caeb
this can cause significant slowdowns with object updates, especially for large folders.