Program işlevleri


İşlevleri belirli zamanlarda çalışacak şekilde planlamak istiyorsanız oluşturmak için onSchedule işleyicisini Aşağıdaki konuları içeren ve Şu tarihte etkinlikleri tetikleyecek Cloud Scheduler: bahsedeceğim.

Başlamadan önce

Bu çözümü Firebase projenizde kullanmak için projenizin şurada olması gerekir: Blaze fiyatlandırma planı. Blaze planında yer almıyorsanız fiyatlandırma planınızı yükseltin.

Faturalandırma gerekli olsa da genel maliyetin yönetilebilir düzeyde olması Her Cloud Scheduler işinin maliyeti aylık 0, 10 ABD dolarıdır ve başına ücretsiz üç iş olanağı sağlanacak. Blaze'i kullanın Maliyet tahmini oluşturmak için fiyat hesaplayıcı bir arada kullanabilirsiniz.

belirler. Bunlar, çoğu Firebase projesinde etkin olmalıdır. CANNOT TRANSLATE Google Cloud Platform Console'da doğrulayın.

Planlı fonksiyon yazma

Cloud Functions for Firebase'de planlama mantığı, işlev kodunuzda bulunur. özel bir dağıtım zamanı gerekliliği yoktur. Planlanmış işlev oluşturmak için: functions.pubsub.schedule('your schedule').onRun((context)) kullanın. Örneğin, bir fonksiyonu çalıştırmak için beş dakikası App Engine cron.yaml söz dizimini kullanıyorsanız şunun gibi bir işlem yapın:

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

Hem Unix Crontab hem de App Engine söz dizimi Cloud Scheduler tarafından desteklenir. Örneğin, Crontab'i kullanarak planlanmış bir işlevin çalıştırılacağı belirli bir saat dilimi için aşağıdaki gibi bir işlem yapın:

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 değeri, tz veritabanı. Bkz. Cloud Scheduler referansı bakın.

Planlanmış bir işlevi dağıtma

Planlanmış bir işlevi dağıttığınızda ilgili planlayıcı işi ve pub/sub otomatik olarak oluşturulur. Firebase CLI, İşi ve konuyu GCP Console. Konu, aşağıdaki kurala göre adlandırılır:

firebase-planli-function_name-region

Örneğin:

firebase-scheduled-scheduledFunctionCrontab-us-east1.