İşlevleri planlama (1. nesil)

İşlevlerin belirli zamanlarda çalışmasını planlamak istiyorsanız onSchedule işleyicisini kullanarak Pub/Sub konusu oluşturun. Bu konu, Cloud Scheduler kullanarak bu konudaki etkinlikleri tetikler.

Başlamadan önce

Planlanmış işlevler faturalandırılsa da genel maliyetin yönetilebilir olmasını bekleyebilirsiniz.Her Cloud Scheduler işi aylık 0,10 ABD doları tutarındadır ve Google Hesabı başına üç işe ücretsiz olarak izin verilir. Tahmini kullanımınıza göre maliyet tahmini oluşturmak için Blaze fiyatlandırma hesaplayıcısını kullanın.

Projenizde Pub/Sub ve Cloud Scheduler API'leri etkinleştirilmelidir. Bunlar çoğu Firebase projesi için zaten etkinleştirilmiş olmalıdır. Google Cloud konsolunda doğrulama yapabilirsiniz.

Planlanmış bir fonksiyon yazma

Cloud Functions for Firebase'da planlama mantığı, işlevler kodunuzda bulunur ve özel dağıtım zamanı şartları yoktur. Planlanmış işlev oluşturmak için functions.pubsub.schedule('your schedule').onRun((context)) kullanın. Örneğin, App Engine cron.yaml söz dizimiyle bir işlevi her beş dakikada bir çalıştırmak için aşağıdakine benzer 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'ı kullanarak planlanmış bir işlevin çalıştırılacağı belirli bir saat dilimini seçmek için aşağıdakine benzer 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ındaki bir saat dilimi adı olmalıdır. Desteklenen özellikler hakkında daha fazla bilgi için Cloud Scheduler referansına bakın.

Planlanmış bir işlevi dağıtma

Planlanmış bir işlevi dağıttığınızda ilgili planlayıcı işi ve pub/sub konusu otomatik olarak oluşturulur. Firebase CLI, konu adını yansıtır ve işi ile konuyu Google Cloud konsolunda görüntüleyebilirsiniz. Konu, aşağıdaki kurala göre adlandırılır:

firebase-scheduled-function_name-region

Örneğin:

firebase-scheduled-scheduledFunctionCrontab-us-east1.