2015-12-09 6 views
8

मेरे पास कंपनियों और संबंधित रिकॉर्ड हटाने के लिए लैरवेल 5 में स्थापित एक कतार है। हर बार ऐसा होता है, बैक एंड पर बहुत से काम होते हैं, इसलिए कतार मेरे सबसे अच्छे विकल्प हैं।प्रसंस्करण से कतार में नौकरियों को क्या रोक देगा? [PHP/Laravel 5]

मैंने अपनी config/queue.php फ़ाइल को .env फ़ाइल के साथ सेट अप किया है ताकि database ड्राइवर का उपयोग किया जा सके। मैं company_deletions नामक कतार पर नौकरियों को धक्का देने के लिए Queue::pushOn विधि का उपयोग कर रहा हूं। पूर्व। जब ऊपर बताए गए आदेशों के उत्पादन को देख

php artisan queue:work 
php artisan queue:work company_deletions 
php artisan queue:listen 
php artisan queue:listen company_deletions 
php artisan queue:work database 
php artisan queue:listen database 

कभी कभी:

Queue::pushOn('company_deletions', new CompanyDelete($id)); 

कहाँ CompanyDelete एक आदेश के साथ php artisan command:make CompanyDelete --queued

मैं निम्न कमांड का प्रयोग कार्रवाई करने के लिए मेरी कतार पाने के लिए कोशिश की है बनाया है , मुझे निम्न त्रुटि मिलती है:

[InvalidArgumentException] 
No connector for [] 

जब भी मुझे कोई त्रुटि नहीं मिलती है, तब भी मैं इसे किसी कारण से नौकरियों को संसाधित नहीं कर सकता। जब मैं अपनी jobs तालिका में देखता हूं, तो मैं कतार पर नौकरी देख सकता हूं, हालांकि attempts कॉलम 0, reserved दिखाता है 0 और reserved_at शून्य है। क्या मुझे कुछ कदम याद आ रहे हैं? मैंने कई बार दस्तावेज़ों को देखा है और मेरे जीवन के लिए यह नहीं पता कि क्या गलत है। मैं लार्वा त्रुटि लॉग में कुछ भी नहीं देखता हूं। jobs डेटाबेस में होने के बाद इन नौकरियों को संसाधित होने से क्या रोका जाएगा? किसी भी मदद की सराहना की है।

+4

आप लॉग बाहर का पर्दाफाश करना चाहिए अपने 'config/queue.php' – magnetik

+0

चेक, अगर आप किसी भी त्रुटि है देखने या तो ... – musicvicious

+0

यदि लार्वेल संसाधित करने में विफल रहा है तो यह लॉग कर सकता है और यह आपको डीबग करने में मदद कर सकता है। अधिक -https: //laravel.com/docs/5.0/queues#failed-jobs – user269867

उत्तर

1

मैं एक smiliar मुद्दे में चलाने क्योंकि मुझे नहीं डिफ़ॉल्ट कतार में नौकरियों जोड़ने ..

 $job = (new EmailJob(
      $this->a, 
      $this->b, 
      $this->c, 
      $this->d, 
      $e 
     ))->onQueue('emails'); 

तो मैं विशिष्ट कतार को सुनने के लिए है:

php artisan queue:listen --queue=emails 

अपने मामले में यह होगा

php artisan queue:listen --queue=company_deletions 
संबंधित मुद्दे