Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

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

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

قبل ان تبدأ

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

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

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

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

في وظائف السحاب لـ Firebase ، يكمن منطق الجدولة في رمز وظائفك ، بدون متطلبات خاصة بوقت النشر. لإنشاء دالة مجدولة ، استخدم functions.pubsub.schedule('your schedule').onRun((context)) . على سبيل المثال ، لتشغيل دالة كل خمس دقائق باستخدام بناء جملة AppEngine 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 و AppEngine بنية Google Cloud Scheduler. على سبيل المثال ، لاستخدام 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 . راجع مرجع Cloud Scheduler للحصول على مزيد من المعلومات حول الخصائص المدعومة.

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

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

Firebase-مجدولة- function_name - region

فمثلا:

وظيفة Firebase-المجدولة المجدولة ، وظيفة Frontab-us-east1.