साइट आगंतुकों द्वारा क्रोन कार्यों को ट्रिगर होने से कैसे रोक सकता हूं?


12

मेरी साइट के लॉग दिखाते हैं कि अगर कोई वेबसाइट पर जाता है तो क्रोन को ट्रिगर किया जाता है। यह पहली यात्रा के लिए लोड समय को धीमा कर रहा है।

यहां प्रत्येक 3 घंटे चलने के लिए क्रोन कॉन्फ़िगर किया गया है: प्रशासन »कॉन्फ़िगरेशन» सिस्टम »क्रोन

मैं आगंतुकों द्वारा निर्धारित क्रोन को कैसे चला सकता हूं और ट्रिगर नहीं कर सकता हूं?

जवाबों:


9

आपको पृष्ठभूमि और चलने के लिए कमांड प्राप्त करने के लिए क्रोन के बारे में ड्रुपल हैंडबुक पृष्ठों को पढ़ने से शुरू करना चाहिए ।

  • यदि आपके पास (लिनक्स) सर्वर पर शेल / एसएसएच एक्सेस है, तो आप crontab -u www-data -eवेब उपयोगकर्ता के लिए क्रोन टेबल को संपादित करने के लिए रन रन का उपयोग कर सकते हैं । आपको उपरोक्त लिंक में विवरणों का उपयोग करने में सक्षम होना चाहिए ताकि आप जितनी बार चाहें उतनी बार उचित क्रोन रन बना सकें।
  • यदि आप शेल एक्सेस के बिना साझा होस्टिंग पर हैं, तो आपको लॉग इन करने और 'शेड्यूल्ड टास्क' जोड़ने के लिए अपने वेब होस्ट के कंट्रोल पैनल (CPanel, Plesk आदि) का उपयोग करने की आवश्यकता होगी। यह क्रोन टैब के लिए वेब इंटरफेस के रूप में प्रदान करता है, इसलिए उसी सेटिंग्स की आवश्यकता होगी।
  • यदि ये उपलब्ध नहीं हैं, तो आपको अपनी होस्टिंग कंपनी से मदद मांगनी होगी, लेकिन मुफ्त और सशुल्क सेवाएं भी हैं, जिनका उपयोग करके आप cron.phpपृष्ठ को दूरस्थ रूप से कॉल कर सकते हैं । उदाहरण के लिए सेट क्रोन जॉब देखें ।

यदि आप सामान्य रूप से क्रोन से अधिक चाहते हैं, तो एलिसिया क्रोन मॉड्यूल की तरह देखें - यह अच्छा प्रलेखन है और आपको यह नियंत्रित करने की अनुमति देता है कि कौन से कार्य कब चलते हैं।

अंत में, विज़िटर द्वारा व्यवस्थापन »कॉन्फ़िगरेशन» सिस्टम » पर पहुंचने पर उस साइट को अक्षम करना याद रखें, जब आप इसे सेट करने में कामयाब रहे हैं।


मेरा शेल एक्सेस है। मुझे पता है कि क्रॉन जॉब्स कैसे सेट करें। इसलिए मैं इसका पता लगाऊंगा। लेकिन सभी जानकारी को सारांशित करने के लिए धन्यवाद।
cateye 13

लेकिन जो मुझे समझ नहीं आ रहा है, वह द्रुपल जैसा व्यवहार करता है, वैसा अब क्यों करता है। यदि मूल विन्यास प्रत्येक 3 घंटे में क्रोन चलाने के लिए निर्धारित है, तो यह आगंतुक के लिए इंतजार क्यों करता है?
cateye 13

1
इसके बारे में सोच रहे हैं। Drupal के लिए कोई रास्ता नहीं है, बिना बूटस्ट्रैप के क्रॉन जॉब चलाने का। और बूटस्ट्रैपिंग तब होती है जब कोई आगंतुक साइट से टकराता है। तो, सारांश यह है: यदि आप वास्तव में अनुसूचित क्रोन नौकरियां चाहते हैं, तो आपको इसे सर्वर साइड सेट करना होगा।
cateye 14

2
बिल्कुल सही। किसी के बिना सर्वर पर कुछ भी नहीं होता है या इसे चलाने वाला कुछ नहीं होता है। ड्रुपल 7 डिफॉल्ट क्रोन को चलाने के लिए है जब उपयोगकर्ता कभी-कभार आते हैं ताकि यह सुनिश्चित किया जा सके कि प्रमुख कार्यों को चलाया जाए। Drupal 6 एक उचित क्रॉन जॉब के अभाव में ऐसा करने के लिए Poor Man's Cron मॉड्यूल पर निर्भर था ... और Drupal में लगभग सब कुछ बूटस्ट्रैप की जरूरत है। सर्वर पर एक उचित क्रॉन जॉब निश्चित रूप से सबसे अच्छा विकल्प है।
जिम किर्कपैट्रिक

1
उत्तर नीचे इसे ठीक करने का वर्णन है। यह एक नहीं :(
टॉम Fejfar

13

Drupal 7 अपने मॉड्यूल में शामिल है जो कोड Poormanscron में था , जिसका उद्देश्य वास्तव में Drupal cron कार्यों को किसी ऐसी साइट पर चलाना है जहाँ क्रोन कार्यों को सेट करना संभव नहीं है, जब कोई उपयोगकर्ता आपकी साइट पर जाता है, और हर X घंटे (जैसा कि सेट होता है) पृष्ठ जो आपने देखा)।

यदि आप उस व्यवहार से बचना चाहते हैं, तो आपको "रन क्रोन एवरी" को "नेवर" पर सेट करने की आवश्यकता है; इसके विपरीत जो यह प्रतीत हो सकता है, कि जब उपयोगकर्ता आपकी साइट पर आते हैं तो बस वही प्रभावित करता है। [१] आप अभी भी Drupal के बाहर से Drupal cron कार्यों को चला सकते हैं, यह याद रखते हुए कि Drupal 7 cron.php में, Drupal के बाहर, "व्यवस्थापन> रिपोर्ट> स्टेटस रिपोर्ट" में दिखाए गए मान को पारित करने की आवश्यकता है।

 

स्क्रीनशॉट

 

 

 

 

 

[१]: वास्तव में, न तो cron.php , और न ही drupal_cron_run () उस सेटिंग पृष्ठ में उपयोग किए गए Drupal चर की जांच करता है। केवल Drupal चर का उपयोग किया जाता है:

  • "cron_key" जिसमें ड्रूपल क्रॉन कार्यों से बचने के लिए उपयोग की जाने वाली क्रोन कुंजी शामिल है, अनधिकृत उपयोगकर्ताओं से चलाया जाता है
  • "मेंटेनेंस_मोड" जो TRUEसाइट के रखरखाव मोड में होने पर सेट होता है
  • "cron_last" जिसमें पिछली बार क्रॉन कार्यों को चलाने के टाइमस्टैम्प शामिल थे

एकमात्र कठिनाई यह है कि जब क्रोन जॉब बार हर बार पृष्ठ को देखता है और आप इसे निष्क्रिय करने के लिए व्यवस्थापक के रूप में लॉगिन भी नहीं कर सकते हैं! आह ... मैं इसे

हाँ, मैंने मॉन्टैस्टिक अपटाइम मॉनिटर की स्थापना करके इसे जल्दी से हल किया है कि क्रोन सक्रियण URL को हर 6 घंटे में "चेक" किया जाता है ...
एंडर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.