Check out what’s new from Firebase at Google I/O 2022. Learn more

अनुसूची कार्य

यदि आप निर्दिष्ट समय पर कार्यों को चलाने के लिए शेड्यूल करना चाहते हैं, तो functions.pubsub.schedule().onRun() का उपयोग करें। वांछित अनुसूची।

शुरू करने से पहले

अपने फायरबेस प्रोजेक्ट में इस समाधान का उपयोग करने के लिए, आपका प्रोजेक्ट ब्लेज़ मूल्य निर्धारण योजना पर होना चाहिए। यदि यह पहले से ब्लेज़ प्लान पर नहीं है, तो अपने मूल्य निर्धारण प्लान को अपग्रेड करें

हालांकि बिलिंग की आवश्यकता है, आप उम्मीद कर सकते हैं कि कुल लागत प्रबंधनीय होगी, क्योंकि प्रत्येक क्लाउड शेड्यूलर नौकरी की लागत $0.10 (यूएसडी) प्रति माह है, और प्रति Google खाते में तीन नौकरियों की छूट है, बिना किसी शुल्क के। अपने अनुमानित उपयोग के आधार पर लागत अनुमान उत्पन्न करने के लिए ब्लेज़ मूल्य निर्धारण कैलकुलेटर का उपयोग करें।

आपके प्रोजेक्ट के लिए पब/सब और क्लाउड शेड्यूलर एपीआई सक्षम होना चाहिए। ये अधिकांश Firebase प्रोजेक्ट के लिए पहले से ही सक्षम होने चाहिए; आप Google क्लाउड प्लेटफ़ॉर्म कंसोल में सत्यापित कर सकते हैं।

एक अनुसूचित समारोह लिखें

फायरबेस के लिए क्लाउड फ़ंक्शंस में, शेड्यूलिंग लॉजिक आपके फ़ंक्शन कोड में रहता है, जिसमें कोई विशेष परिनियोजन-समय की आवश्यकता नहीं होती है। शेड्यूल किए गए फ़ंक्शन को बनाने के लिए, functions.pubsub.schedule('your schedule').onRun((context)) का उपयोग करें। उदाहरण के लिए, ऐप इंजन cron.yaml सिंटैक्स के साथ हर पांच मिनट में एक फ़ंक्शन चलाने के लिए, ऐसा कुछ करें:

exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
  console.log('This will be run every 5 minutes!');
  return null;
});

Unix Crontab और App Engine सिंटैक्स दोनों क्लाउड शेड्यूलर द्वारा समर्थित हैं। उदाहरण के लिए, एक विशिष्ट समय क्षेत्र का चयन करने के लिए क्रोंटैब का उपयोग करने के लिए जिसमें एक निर्धारित कार्य चलाना है, ऐसा कुछ करें:

exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
  .timeZone('America/New_York') // Users can choose timezone - default is America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});

timeZone का मान tz डेटाबेस से समय क्षेत्र का नाम होना चाहिए। समर्थित गुणों के बारे में अधिक जानकारी के लिए क्लाउड शेड्यूलर संदर्भ देखें।

एक अनुसूचित समारोह तैनात करें

जब आप कोई शेड्यूल्ड फ़ंक्शन परिनियोजित करते हैं, तो संबंधित शेड्यूलर कार्य और पब/उप विषय स्वचालित रूप से बन जाते हैं। फायरबेस सीएलआई विषय के नाम को प्रतिध्वनित करता है, और आप नौकरी और विषय को जीसीपी कंसोल में देख सकते हैं। विषय का नाम निम्नलिखित सम्मेलन के अनुसार रखा गया है:

फायरबेस-अनुसूचित- function_name - region

उदाहरण के लिए:

firebase-अनुसूचित-अनुसूचितFunctionCrontab-us-east1.