2010-10-18 6 views
5

मैं PHP का उपयोग करके एक बनाने के तरीके को सीखने के लिए एक अच्छा cronjob ट्यूटोरियल या पुस्तक खोज रहा हूं।PHP - अच्छा cronjob/crontab/cron ट्यूटोरियल या पुस्तक

+0

http://stackoverflow.com/search?q=cron+php में कुछ भी नहीं? – Gordon

+0

@ गॉर्डन मैंने अपने स्वयं के प्रश्न पूछने का फैसला किया जो मैंने सोचा था कि एसओ के लिए था, क्योंकि प्रत्येक प्रश्न को अलग-अलग जवाब मिलते हैं। – HELP

+1

@huf [यह तब एक गलतफहमी है] (http://meta.stackexchange.com/questions/17494/im-new-to-stackoverflow-what-should-i-consider-before-asking-questions "मेटा: क्या होना चाहिए प्रश्न पूछने से पहले मैं विचार करता हूं ")। आपको खोज फ़ंक्शन का उपयोग करने के लिए प्रोत्साहित किया जाता है और आपके प्रश्न दर्ज करते समय SO आपको दिए गए प्रश्नों पर विचार करें। डुप्लिकेट प्रश्न पोस्ट करना निराश होता है क्योंकि यह केवल अव्यवस्था को जोड़ता है। – Gordon

उत्तर

12

क्रोनबॉज php प्रक्रिया या स्क्रिप्ट के रूप में बनाने के लिए कुछ नहीं है। Cron एक लिनक्स प्रोग्राम है जो आपको एक नियमित अंतराल पर एक स्क्रिप्ट कॉल करने की अनुमति देता है।

आप देख सकते हैं क्या एक व्यवस्थापक उपयोगकर्ता और प्रकार के रूप में अपने लिनक्स मशीन में दर्ज करके एक crontab है:

[email protected]:~# crontab -e 

आप देखेंगे

की तरह कुछ
*/1 * * * * /usr/bin/php /var/www/somesite/public/cron.php 

इसका मतलब है कि हर मिनट मैं कर रहा हूँ cron.php निष्पादित।

अब, आप अलग-अलग समय पर अलग-अलग स्क्रिप्ट निष्पादित करना चाहते हैं और इस तर्क को लिनक्स स्तर के बजाय PHP स्तर पर पास करना चाहते हैं। यदि ऐसा है तो आप अपनी क्रॉन स्क्रिप्ट को सबसे कम समय के denominator (उदाहरण के लिए मिनट) पर कॉल कर सकते हैं और cron.php में कुछ तर्क बनाएं जो अलग-अलग अन्य स्क्रिप्ट पर कॉल करेंगे।

मैं उदाहरण के लिए एक Cronable इंटरफ़ेस का उपयोग:

interface Cronable { 
    public function cron(); 
} 

और प्रत्येक वर्ग द्वारा cron.php इस इंटरफेस और क्रॉन() फ़ंक्शन को लागू करने की है के नाम से जाना चाहता है, जो है क्या निर्दिष्ट करेगा कॉल की विशिष्ट आवृत्ति। Cron.php इन सभी कक्षाओं को प्राप्त करेगा और उस समय के साथ वर्तमान समय की तुलना करेगा और कॉल निष्पादित करने का निर्णय लेगा या नहीं।

+0

वास्तव में, कार्यक्रम क्रॉन है। क्रोंटब इसे चलाने के लिए नौकरियों की सूची है। –

+0

आप सही हैं। –

1

आप PHP का उपयोग करके कोई भी नहीं बनाते हैं। आप crontab(1) का उपयोग करके एक बनाते हैं।

2

मुझे नहीं लगता कि आपको यह जानने के लिए एक पूरी किताब चाहिए।

मूल रूप से आप ठीक उसी तरह अपनी स्क्रिप्ट लिख रहे हैं हमेशा है ($_SERVER उपयोग करने से बचें) और इस तरह अपने crontab के लिए एक प्रवेश करते हैं:

* * * * * [/path/to/php/]php /path/to/your/script/script.php 
1

या आप केवल सीपीएएनईएल खोल सकते हैं और CRONJOBS की तलाश कर सकते हैं। वहां आप चुन सकते हैं कि आपको कौन सी php फ़ाइल या स्क्रिप्ट चलाने की आवश्यकता है और इसे कब करना है, प्रति घंटे एक बार, प्रति दिन, प्रत्येक रविवार और इसी तरह।

1

जैसा कि अन्य ने कहा है, cron ऐसा कुछ नहीं है जिसे आप PHP के भीतर कॉल करेंगे, जो बताता है कि आपको ऐसा करने के लिए कोई ट्यूटोरियल क्यों नहीं मिला है।

सवाल यह है कि आप वास्तव में क्या करने की कोशिश कर रहे हैं? क्या आप एक नियमित अंतराल पर एक PHP प्रोग्राम चलाने के लिए चाहते हैं? यदि आप यही करना चाहते हैं, तो हाँ, आपको क्रॉन की आवश्यकता होगी, लेकिन इसके बारे में कुछ भी PHP विशिष्ट नहीं होगा, इसलिए crontab फ़ाइलों को प्रारूपित करने के तरीके पर क्रॉन ट्यूटोरियल्स की तलाश करें।

यदि आप PHP के भीतर अपने क्रॉन सेटअप को कॉन्फ़िगर करना चाहते हैं (जो कि यह आपके प्रश्न से कैसे पढ़ता है), तो आपको crontab फ़ाइल को संशोधित करने की आवश्यकता होगी। यह एक साधारण पाठ फ़ाइल है, इसलिए इसे लोड करना और इसे सहेजना किसी भी अन्य पाठ फ़ाइल जितना आसान होगा। (आपको फ़ाइल अनुमतियों के साथ समस्याएं हो सकती हैं, लेकिन ऐसा कुछ है जो आपको शायद अलग से मदद मिलनी चाहिए)।

क्रॉन्टाब सेटिंग्स को संशोधित करने के लिए, आपको यह जानना होगा कि क्रॉन्टाब फ़ाइल में प्रविष्टियों को कैसे प्रारूपित करना है, इसलिए फिर ऊपर वर्णित वही क्रॉन-विशिष्ट ट्यूटोरियल उपयोगी होंगे (यानी ' आपकी खोज में PHP ')। फिर एक php प्रोग्राम लिखें जो उस प्रारूप में डेटा को सहेज सकता है। यह वास्तव में एक बहुत ही जटिल प्रारूप नहीं है, इसलिए यदि आप PHP को उचित रूप से अच्छी तरह से जानते हैं, तो आप डेटा को पार्स करने के तरीके को समझने में सक्षम होना चाहिए। (लेकिन हमें बताएं कि आपको इसके साथ और सहायता की आवश्यकता है)

आशा है कि आपको प्रारंभ करने में मदद मिलेगी।

संबंधित मुद्दे