1313
1414namespace MonsieurBiz \SyliusSearchPlugin \MessageHandler ;
1515
16+ use Exception ;
1617use MonsieurBiz \SyliusSearchPlugin \Index \IndexerInterface ;
1718use MonsieurBiz \SyliusSearchPlugin \Message \ProductToDeleteFromIds ;
1819use MonsieurBiz \SyliusSearchPlugin \Model \Documentable \DocumentableInterface ;
20+ use Psr \Log \LoggerInterface ;
1921use Sylius \Component \Registry \ServiceRegistryInterface ;
2022use Symfony \Component \Messenger \Handler \MessageHandlerInterface ;
2123
@@ -25,22 +27,32 @@ class ProductToDeleteFromIdsHandler implements MessageHandlerInterface
2527
2628 private ServiceRegistryInterface $ documentableRegistry ;
2729
30+ private LoggerInterface $ logger ;
31+
2832 public function __construct (
2933 IndexerInterface $ indexer ,
30- ServiceRegistryInterface $ documentableRegistry
34+ ServiceRegistryInterface $ documentableRegistry ,
35+ LoggerInterface $ logger
3136 ) {
3237 $ this ->indexer = $ indexer ;
3338 $ this ->documentableRegistry = $ documentableRegistry ;
39+ $ this ->logger = $ logger ;
3440 }
3541
3642 public function __invoke (ProductToDeleteFromIds $ message ): void
3743 {
3844 /** @var DocumentableInterface $documentable */
3945 $ documentable = $ this ->documentableRegistry ->get ('search.documentable.monsieurbiz_product ' );
4046
41- $ this ->indexer ->deleteByDocumentIds (
42- $ documentable ,
43- $ message ->getProductIds ()
44- );
47+ try {
48+ $ this ->indexer ->deleteByDocumentIds (
49+ $ documentable ,
50+ $ message ->getProductIds ()
51+ );
52+ } catch (Exception $ e ) {
53+ $ this ->logger ->error ('An error occurred while deleting products from search index ' , [
54+ 'exception ' => $ e ,
55+ ]);
56+ }
4557 }
4658}
0 commit comments