Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
ProgressAdvancedEvent example
while
(
$message
=
$indexer
->
iterate
(
$offset
)
)
{
$message
->
setIndexer
(
$indexer
->
getName
(
)
)
;
$message
->
addSkip
(
...
$skip
)
;
$this
->
sendOrHandle
(
$message
,
$useQueue
)
;
$offset
=
$message
->
getOffset
(
)
;
try
{
$count
= \
is_array
(
$message
->
getData
(
)
)
? \
count
(
$message
->
getData
(
)
)
: 1;
$this
->dispatcher->
dispatch
(
new
ProgressAdvancedEvent
(
$count
)
)
;
}
catch
(
\Exception
)
{
}
}
$this
->dispatcher->
dispatch
(
new
ProgressFinishedEvent
(
$indexer
->
getName
(
)
)
)
;
}
}
public
function
refresh
(
EntityWrittenContainerEvent
$event
)
: void
{
$context
=
$event
->
getContext
(
)
;
while
(
$ids
=
$iterator
->
fetch
(
)
)
{
$ids
=
array_values
(
$ids
)
;
// we provide no queue when the data is sent by the admin
if
(
$indexingBehavior
->
getNoQueue
(
)
)
{
$this
->
__invoke
(
new
AdminSearchIndexingMessage
(
$indexer
->
getEntity
(
)
,
$indexer
->
getName
(
)
,
$indices
,
$ids
)
)
;
}
else
{
$this
->queue->
dispatch
(
new
AdminSearchIndexingMessage
(
$indexer
->
getEntity
(
)
,
$indexer
->
getName
(
)
,
$indices
,
$ids
)
)
;
}
$this
->dispatcher->
dispatch
(
new
ProgressAdvancedEvent
(
\
count
(
$ids
)
)
)
;
}
$this
->dispatcher->
dispatch
(
new
ProgressFinishedEvent
(
$indexer
->
getName
(
)
)
)
;
}
$this
->
swapAlias
(
$indices
)
;
}
public
function
refresh
(
EntityWrittenContainerEvent
$event
)
: void
{
if
(
!
$this
->adminEsHelper->
getEnabled
(
)
|| !
$this
->
isIndexedEntityWritten
(
$event
)
)
{