33
44use Enqueue \ElasticaBundle \Queue \Commands ;
55use Enqueue \Util \JSON ;
6+ use FOS \ElasticaBundle \Index \IndexManager ;
67use FOS \ElasticaBundle \Persister \Event \PostAsyncInsertObjectsEvent ;
78use FOS \ElasticaBundle \Persister \Event \PostPersistEvent ;
89use FOS \ElasticaBundle \Persister \Event \PrePersistEvent ;
@@ -28,11 +29,21 @@ final class QueuePagerPersister implements PagerPersisterInterface
2829 */
2930 private $ dispatcher ;
3031
31- public function __construct (Context $ context , PersisterRegistry $ registry , EventDispatcherInterface $ dispatcher )
32- {
32+ /**
33+ * @var IndexManager
34+ */
35+ private $ indexManager ;
36+
37+ public function __construct (
38+ Context $ context ,
39+ PersisterRegistry $ registry ,
40+ EventDispatcherInterface $ dispatcher ,
41+ IndexManager $ indexManager
42+ ) {
3343 $ this ->context = $ context ;
3444 $ this ->dispatcher = $ dispatcher ;
3545 $ this ->registry = $ registry ;
46+ $ this ->indexManager = $ indexManager ;
3647 }
3748
3849 /**
@@ -42,15 +53,21 @@ public function insert(PagerInterface $pager, array $options = array())
4253 {
4354 $ pager ->setMaxPerPage (empty ($ options ['max_per_page ' ]) ? 100 : $ options ['max_per_page ' ]);
4455
45- $ options = array_replace ( [
56+ $ defaultOptions = [
4657 'max_per_page ' => $ pager ->getMaxPerPage (),
4758 'first_page ' => $ pager ->getCurrentPage (),
4859 'last_page ' => $ pager ->getNbPages (),
4960 'populate_queue ' => Commands::POPULATE ,
5061 'populate_reply_queue ' => null ,
5162 'reply_receive_timeout ' => 5000 , // ms
52- 'limit_overall_reply_time ' => 180 , // sec
53- ], $ options );
63+ 'limit_overall_reply_time ' => 180 // sec
64+ ];
65+ $ index = $ this ->indexManager ->getIndex ($ options ['indexName ' ]);
66+ if ($ index ->getName () !== $ index ->getOriginalName ()) {
67+ $ defaultOptions ['realIndexName ' ] = $ index ->getName ();
68+ }
69+
70+ $ options = array_replace ($ defaultOptions , $ options );
5471
5572 $ pager ->setCurrentPage ($ options ['first_page ' ]);
5673
0 commit comments