जवाबों:
Cron.sh को चलाना सबसे अच्छा होगा
Magento EE 1.13.x और CE 1.8.x के रूप में, क्रोन यांत्रिकी बदल गया है जहाँ Magento ने एक नया शेड्यूलिंग मोड फ़ंक्शन पेश किया है।
2 उपलब्ध मोड हैं: 1. डिफ़ॉल्ट - अनुसूचित क्रोन चलाता है। 2. हमेशा - जैसा कि नाम से पता चलता है कि इन कार्यों को बिना शर्त हर बार क्रोन शुरू होने पर निष्पादित किया जाएगा और स्पष्ट रूप से निर्धारित कार्यक्रम की आवश्यकता नहीं है।
मूल रूप से cron.php बिना किसी पैरामीटर के बुलाया जा रहा है, cron.sh की दो प्रक्रियाओं को निष्पादित करने के लिए shell_exec का उपयोग करता है। प्रत्येक एक अलग पैरामीटर ("डिफ़ॉल्ट" या "हमेशा") के साथ। Cron.sh बदले में इस पैरामीटर को cron.php पर वापस भेज देता है जो तब क्रोन को निष्पादित करता है। आंतरिक रूप से मैगेंटो अपने इवेंट इंफ्रास्ट्रक्चर का उपयोग "डिफ़ॉल्ट" और "हमेशा" नामों के साथ घटनाओं को भेजकर दो तरीकों को संसाधित करने के लिए करता है। Mage_Cron फिर दो पर्यवेक्षक विधियों को लागू करता है।
Cron.php को देखते हुए, आप PHP फ़ंक्शन shell_exec के उपयोग को नोटिस करेंगे। सुरक्षा चिंता का विषय होने के अलावा, फ़ंक्शन कोई त्रुटि उत्पन्न होने पर प्रोग्राम को वापस कर सकता है या प्रोग्राम कोई आउटपुट नहीं देता है। इस फ़ंक्शन का उपयोग करके निष्पादन विफलताओं का पता लगाना संभव नहीं है। इसका मतलब यह है कि किसी भी बिंदु पर जब आपकी स्क्रिप्ट / कोड किसी त्रुटि के कारण विफल हो जाता है, तो निम्न होता है: 1. क्रॉन्जॉब बासी हो जाता है, 2. कोई त्रुटि दर्ज नहीं की जाती है, 3. और किसी को नहीं पता कि इसमें से कोई भी हुआ है।
इसे दूर करने के लिए, निम्नलिखित क्रोनजॉब को जोड़ा जाना चाहिए:
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=default
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=always
यह सुनिश्चित करेगा कि प्रक्रिया मोड हमेशा फॉलबैक PHP फ़ंक्शन शेल_एक्सएक्यू का उपयोग किए बिना चलेगा और यह कि क्रोन को बासी नहीं बनना चाहिए क्योंकि एक त्रुटि होने पर अपवाद को फेंक दिया जाता है।
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=default */5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=always
और इन आदेशों दे त्रुटि नूपुर वालिया द्वारा "कमांड नहीं मिला"
*/5 * * * * /bin/sh /path/to/magento/cron.sh cron.php -m=default
www-data
जो भी उपयोगकर्ता वेब सर्वर प्रक्रियाओं को चलाता है वह बदल जाएगा। यह भी ध्यान देने योग्य है कि कई CPanel / WHM होस्टिंग सेटअप के लिए,shell_exec()
अक्षम होने जा रहा है।