2015-04-06 3 views
10

मेरे पास दो ईवेंट ग्राहक ए और बी दोनों onFlush ईवेंट की सदस्यता ले चुके हैं।क्या मैं उस क्रम को परिभाषित कर सकता हूं जिसमें घटना श्रोताओं/ग्राहकों को सिद्धांत में बुलाया जाता है?

मैं यह सुनिश्चित करना चाहता हूं कि a::onFlush() को हमेशा B::onFlush() से पहले बुलाया जाता है। मुझे दस्तावेज़ में इस पर कोई संसाधन नहीं मिल रहा है।

मैं symfony2 का उपयोग करता हूं, इसलिए यह बहुत अच्छा होगा अगर मैं सेवा परिभाषा में मूल्य को पास कर सकता हूं।

उत्तर

17

अपने सेवा टैग को प्राथमिकता जोड़ें। इससे पहले की प्राथमिकता जितनी अधिक होगी।

services: 
    my.listener: 
     class: Acme\SearchBundle\EventListener\SearchIndexer 
     tags: 
      - { name: doctrine.event_listener, event: postPersist, priority: 100 } 
+3

धन्यवाद! मैंने अभी यह खुद ही खोज लिया है। यह उल्लेखनीय है कि यह ग्राहकों के साथ भी काम करता है। – Jumi

+1

यहां प्रारंभिक परीक्षण इंगित करता है कि ग्राहकों पर प्राथमिकता सेटिंग काम नहीं कर रही है। (वर्तमान सिम्फनी/सिद्धांत का उपयोग करना) – Jan

+1

@Jan उपर्युक्त उत्तर सही है। अगर आपको लगता है कि आपको सिम्फनी कोड के भीतर एक बग मिली है तो आपको जिथब पर डेवलपर्स से संपर्क करना चाहिए। – Twifty

संबंधित मुद्दे

 संबंधित मुद्दे