मैं node-cron के साथ क्रॉन से अधिक परिचित हूं, लेकिन मैंने प्रलेखन पर एक त्वरित रूप से देखा है।
यदि मैं इसे सही ढंग से समझता हूं, तो नोड-क्रॉन क्रॉन द्वारा उपयोग किए जाने वाले समान वाक्यविन्यास का उपयोग करता है, लेकिन अतिरिक्त "सेकंड" फ़ील्ड के साथ। तो एक क्रॉन जॉब हो सकता है जहां: (एक अतिरिक्त के साथ
'0 */15 * * * *'
:
# min hour mday month wday command
*/15 * * * * some-command
हर 15 मिनट चलाने के लिए some-command
शेड्यूल करने के लिए, नोड क्रॉन एक ऐसी ही वाक्य रचना समय निर्दिष्ट करने के लिए चलाने के लिए प्रयोग करेंगे सेकंड निर्दिष्ट करने के लिए फ़ील्ड), लेकिन यह एक निर्दिष्ट जावास्क्रिप्ट फ़ंक्शन निष्पादित करता है, बाहरी आदेश नहीं।
मानक क्रॉन में, प्रत्येक 45 मिनट में नौकरी चलाने के लिए कोई वाक्यविन्यास नहीं है। 0/45 * * * *
का एक विनिर्देश घंटे के बाद 0 और 45 मिनट पर प्रत्येक घंटे दो बार नौकरी चलाएगा। हर 45 मिनट में नौकरी चलाने के लिए (00:00, 00:45, 01:30, 02:15, ... यानी, प्रति दिन 32 बार) आपको इसे हर 15 मिनट चलाने के लिए शेड्यूल करना होगा, और फिर एक स्क्रिप्ट का आह्वान करें जो यह तय करने के लिए वर्तमान समय की जांच करता है कि कुछ भी करना है या नहीं।
एक समान दृष्टिकोण नोड-क्रॉन के लिए काम करना चाहिए। प्रत्येक 15 मिनट चलाने के लिए फ़ंक्शन को शेड्यूल करें, और उस फ़ंक्शन को आज़माएं जो वर्तमान समय को जांचने के लिए जांचें कि क्या चलाना है या नहीं। उदाहरण के लिए, आप जांच सकते हैं कि आधी रात मॉड्यूल 45 से मिनटों की संख्या शून्य है या नहीं। (यदि शेड्यूलिंग सटीक नहीं है, तो आप एक छोटे से भिन्नता की अनुमति दे सकते हैं।)
मुझे इस फ़ंक्शन को लिखने का सबसे अच्छा तरीका सुझाए जाने के लिए पर्याप्त रूप से जावास्क्रिप्ट नहीं पता है, लेकिन यह उचित रूप से सरल होना चाहिए।
स्रोत
2014-06-22 20:04:43
यह नहीं "हर 45 मिनट" लेकिन "हर घंटे 45 में" के लिए इस के साथ की कोशिश की है। – Cody
ने इसका परीक्षण किया, लेकिन ऐसा लगता है कि यह हर सेकेंड भी चल रहा है, जो पहले * की वजह से समझ में आता है जब '17: 50: 18' पर शुरू होता है तो यह' 18: 00: 01' '18:00:02 पर चलता है 'आदि मैं पहले * –
के स्थान पर 00 कोशिश करने जा रहा हूं, इसे सेकंड फ़ील्ड में थोड़ा समायोजन के साथ काम करने के लिए मिला, यहां पैटर्न है; '0 */45 * * * *' –