जब पढ़ने Sidekiq Wiki मैं निम्नलिखित उदाहरण देखें:perfrom_async और साइडकीक में देरी के बीच क्या अंतर है?
से Getting started:
संदेश भेजें एसिंक्रोनस रूप से संसाधित करने के लिए:
HardWorker.perform_async('bob', 5)
तुम भी देरी विधि को फोन करके संदेश भेज सकते हैं कक्षा विधि पर:
User.delay.do_some_stuff(current_user.id, 20)
इसके अलावा, Delayed extensions से:
देरी का प्रयोग करें अपने ईमेल एसिंक्रोनस रूप से वितरित करने के लिए। भविष्य में किसी बिंदु पर ईमेल वितरित करने के लिए delay_for (अंतराल) या delay_until (समय) का उपयोग करें।
UserMailer.delay.welcome_email (@ user.id) UserMailer.delay_for (5.days) .find_more_friends_email (@ user.id) UserMailer.delay_until (5.days.from_now) .find_more_friends_email (@ user.id)
तो perfrom_async
और delay
के बीच वास्तव में क्या अंतर है? मैं किस परिस्थिति में एक दूसरे को पसंद करूंगा?
क्या आपके बीच मेल ऑब्जेक्ट पर स्वचालित रूप से '.deliver'' कहलाता है और कौन सा नहीं है? – Andrei
आपके लिए एक एक्शनमेलर कॉल पर देरी। perform_async एक सामान्य पृष्ठभूमि कॉल है, आपको प्रदर्शन विधि में डिलीवरी कॉल करने की आवश्यकता होगी। –
"जब संभव हो तो perform_async का उपयोग करें" @ माइकपेरहम तो क्यों प्रलेखन (https://github.com/mperham/sidekiq/wiki/Delayed-extensions) इंगित करता है कि ActiveRecord और ActionMailer के लिए देरी की अनुशंसा की जाती है? – ChrisH