Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

תזמון פונקציות

אם אתה רוצה פונקציות לוח זמנים לרוץ בזמנים שצוינו, השימוש functions.pubsub.schedule().onRun() שיטת נוחות זו יוצרת פאב / תת נושא ומשתמשת ענן מתזמן לאירועי הדק בנושא זה, על מנת להבטיח כי ריצות הפונקציה שלך על לוח הזמנים הרצוי.

לפני שאתה מתחיל

כדי להשתמש בפתרון זה בפרויקט Firebase שלך, הפרויקט שלך חייב להיות בתכנית התמחור של Blaze. אם זה לא כבר על תוכנית Blaze, לשדרג את תכנית התמחור שלך .

למרות שנדרשת חיוב, אתה יכול לצפות שהעלות הכוללת תהיה ניתנת לניהול, מכיוון שכל עבודה של מתזמן ענן עולה $ 0.10 (USD) לחודש, וישנה הקצבה של שלוש משרות חינם לכל חשבון Google. השתמש Blaze מחשבון תמחור ליצור אומדן העלות מבוסס על השימוש הצפוי שלך.

יש להפעיל את ממשקי ה- API של מתזמן Pub/Sub וענן עבור הפרויקט שלך. אלה כבר צריכים להיות מופעלים עבור רוב הפרויקטים של Firebase; אתה יכול לאמת את מסוף פלטפורמת Google Cloud .

כתוב פונקציה מתוזמנת

ב- Cloud Functions for Firebase, לוגיקת התזמון נמצאת בקוד הפונקציות שלך, ללא דרישות מיוחדות לזמן פריסה. כדי ליצור פונקציה מתוכננת, השימוש 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 ותחנת האפליקציות נתמך על ידי מתזמן ענן. לדוגמה, כדי להשתמש ב- Crontab לבחירת אזור זמן ספציפי בו תפעיל פונקציה מתוזמנת, בצע משהו כזה:

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 . ראה התייחסות הענן המתזמנת לקבלת מידע נוסף על מאפיינים נתמכים.

לפרוס פונקציה מתוזמנת

בעת פריסת פונקציה מתוזמנת, עבודת מתזמן הקשור ונושא הפאב/משנה נוצרים באופן אוטומטי. Firebase CLI מהדהד את שם הנושא, ואתה יכול לראות את העבודה ואת הנושא של GCP Console . הנושא נקרא על פי האמנה הבאה:

firebase-scheduled- function_name - region

לדוגמה:

בסיס אש-מתוזמן-מתוכנן פונקציהContab-us-east1.