नमस्कार, मैं एक वेब ऐप विकसित कर रहा हूं। इसका एक टुकड़ा उपयोगकर्ताओं को दिन के किसी विशेष समय पर उन्हें "अनुस्मारक" ईमेल भेजने के लिए अनुमति देगा। इसे निष्पादित करने का श्रेष्ठ तरीका क्या है? असल में, जब मैं चाहता हूं कि सभी "समाधान" पैटर्न पर "समाधान" पैटर्न पर चलने वाले सभी समाधान "इंटरप्ट" पैटर्न हैं।गतिशील रूप से अनुस्मारक ईमेल शेड्यूल करने का सबसे अच्छा तरीका? क्रॉन से बेहतर कुछ भी?
यहाँ कुछ संभव समाधान मैं ले कर आए हैं कर रहे हैं:
एक cronjob आग हर मिनट है। स्क्रिप्ट जो आग लगती है यह देखने के लिए डेटाबेस भेजती है कि भेजने के लिए कोई ईमेल है या नहीं, अगर वहां है, तो यह उन्हें वापस भेजता है, अन्यथा यह सो जाता है। इसके साथ दोष यह है कि हर मिनट कुछ ओवरहेड होता है। साथ ही, यह एक स्केलेबल सिस्टम नहीं हो सकता है, खासकर जब उपयोगकर्ताओं की संख्या इतनी बड़ी हो जाती है कि सभी ईमेल भेजने में एक मिनट लग सकते हैं।
# 1 के समान, लेकिन नौकरी केवल हर 15 मिनट में आग लगती है। यह थोड़ा अधिक प्रबंधनीय है, लेकिन सही नहीं है, क्योंकि यह उपयोगकर्ताओं को 15 मिनट के अंक पर अनुस्मारक को प्रतिबंधित करता है, और जब भी कोई ईमेल भेजने के लिए नहीं होता है तब भी यह थोड़ा अधिक ओवरहेड होता है। बुरा नहीं है, लेकिन सही नहीं है।
PHP निष्पादन() कुछ कोड है जो गतिशील रूप से क्रोंटैब को बदलता है या अंतर्निहित लिनक्स में "एट" नौकरी निर्धारित करता है। यह मुझे लचीलापन और "इंटरप्ट" प्रकार मॉडल प्रदान करेगा जो मैं चाहता हूं, लेकिन PHP को निष्पादित करने की अनुमति देने में एक बड़ा सुरक्षा छेद खोल देगा() लिनक्स कोड। तो, मैं आगे बढ़ने जा रहा हूं और इस पर शासन कर रहा हूं।
तो, मैं जो कुछ भी आया हूं उससे बेहतर कुछ भी? शायद क्रॉन का उपयोग किए बिना ईमेल शेड्यूल करने का एक तरीका? मैं यह देखने के लिए बहुत उत्सुक हूं कि आपको इस बारे में क्या कहना है :)।
यहां तक कि पोस्टफिक्स डेवलपर मेल शेड्यूलिंग के लिए क्रॉन नौकरियों का उपयोग करने की सलाह देते हैं। बीटीडब्ल्यू, ध्यान से 'exec' का उपयोग करने में कुछ भी गलत नहीं है। आपके कोड में कहीं और मेहनती खोल टिप्पणियों के कारण PHP बफर ओवरफ़्लो के कारण एक्सप्लॉइट अधिक संभावना है। – mario
http://stackoverflow.com/questions/6278940/scheduling-a-regular-event-cron-cron-alternatives-cluding-celery। इस सवाल के समान दिखता है, नहीं? – Kizz