Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
StopWorkerOnMemoryLimitListener example
$receiver
=
$this
->receiverLocator->
get
(
$receiverName
)
;
$workerDispatcher
=
new
EventDispatcher
(
)
;
$listener
=
new
CountHandledMessagesListener
(
)
;
$workerDispatcher
->
addSubscriber
(
new
StopWorkerOnTimeLimitListener
(
$this
->pollInterval
)
)
;
$workerDispatcher
->
addSubscriber
(
$listener
)
;
$workerDispatcher
->
addSubscriber
(
$this
->statsSubscriber
)
;
$workerDispatcher
->
addSubscriber
(
$this
->stopWorkerOnRestartSignalListener
)
;
$workerDispatcher
->
addSubscriber
(
$this
->earlyReturnListener
)
;
if
(
$this
->memoryLimit !== '-1'
)
{
$workerDispatcher
->
addSubscriber
(
new
StopWorkerOnMemoryLimitListener
(
MemorySizeCalculator::
convertToBytes
(
$this
->memoryLimit
)
)
)
;
}
$worker
=
new
Worker
(
[
$this
->defaultTransportName =>
$receiver
]
,
$this
->bus,
$workerDispatcher
)
;
$worker
->
run
(
[
'sleep' => 50
]
)
;
$consumerLock
->
release
(
)
;
return
new
JsonResponse
(
[
'handledMessages' =>
$listener
->
getHandledMessages
(
)
]
)
;
}