Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

جدولة الوظائف

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

إذا كنت تريد جدولة وظائف للتشغيل في أوقات محددة ، فاستخدم functions.pubsub.schedule().onRun() تنشئ هذه الطريقة الملائمة موضوع Pub / Sub وتستخدم Cloud Scheduler لتشغيل الأحداث المتعلقة بهذا الموضوع ، مما يضمن تشغيل وظيفتك على الجدول المطلوب.

قبل ان تبدأ

لاستخدام هذا الحل في مشروع Firebase الخاص بك ، يجب أن يكون مشروعك على خطة تسعير Blaze. إذا لم تكن مدرجة بالفعل في خطة Blaze ، فقم بترقية خطة التسعير الخاصة بك .

على الرغم من أن الفوترة مطلوبة ، يمكنك توقع أن تكون التكلفة الإجمالية قابلة للإدارة ، حيث أن كل وظيفة Cloud Scheduler تكلف 0.10 دولارًا أمريكيًا (USD) شهريًا ، وهناك بدل لثلاث وظائف لكل حساب Google ، دون مقابل. استخدم حاسبة تسعير Blaze لإنشاء تقدير للتكلفة بناءً على استخدامك المتوقع.

يجب تمكين واجهات برمجة تطبيقات Pub / Sub و Cloud Scheduler API لمشروعك. يجب تمكينها بالفعل لمعظم مشاريع Firebase ؛ يمكنك التحقق في Google Cloud Platform Console .

اكتب وظيفة مجدولة

في Cloud Functions لـ Firebase ، يكمن منطق الجدولة في رمز وظائفك ، مع عدم وجود متطلبات وقت نشر خاصة. لإنشاء دالة مجدولة ، استخدم functions.pubsub.schedule('your schedule').onRun((context)) . على سبيل المثال ، لتشغيل دالة كل خمس دقائق باستخدام بنية App Engine cron.yaml ، افعل شيئًا كالتالي:

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

يدعم Cloud Scheduler كلا من بنية Unix Crontab و App Engine. على سبيل المثال ، لاستخدام 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;
});

يجب أن تكون قيمة المنطقة الزمنية اسم منطقة زمنية من قاعدة بيانات tz timeZone راجع مرجع Cloud Scheduler للحصول على مزيد من المعلومات حول الخصائص المدعومة.

نشر وظيفة مجدولة

عند نشر وظيفة مجدولة ، يتم إنشاء وظيفة المجدول ذات الصلة وموضوع عام / فرعي تلقائيًا. يردد Firebase CLI اسم الموضوع ، ويمكنك عرض الوظيفة والموضوع في وحدة تحكم GCP . تم تسمية الموضوع حسب الاصطلاح التالي:

جدولة Firebase- function_name - region

فمثلا:

فايرباس-مجدول-جدولةوظيفة Frontab-us-east1.