İşlevleri planlama (1. nesil)

İşlevleri belirli zamanlarda çalışacak şekilde planlamak istiyorsanız onSchedule işleyicisini kullanarak Pub/Sub konusu oluşturun. Bu konu, etkinlikleri tetiklemek için Cloud Scheduler kullanır.

Başlamadan önce

Programlanmış işlevler faturalandırılsa da her Cloud Scheduler işi ayda 0,10 ABD doları tuttuğu ve Google Hesabı başına üç iş ücretsiz olduğu için toplam maliyetin yönetilebilir olmasını bekleyebilirsiniz. Tahmini kullanımınıza göre maliyet tahmini oluşturmak için Blaze Fiyat Hesaplayıcıyı kullanın.

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

Programlanmış işlev yazma

Cloud Functions for Firebase'da, planlama mantığı işlev kodunuzda bulunur ve özel dağıtım süresi gereksinimleri yoktur. Planlanmış bir işlev oluşturmak için functions.pubsub.schedule('your schedule').onRun((context)) kullanın. Örneğin, App Engine cron.yaml söz dizimiyle her beş dakikada bir işlev çalıştırmak için aşağıdaki 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;
});

Cloud Scheduler, hem Unix Crontab hem de App Engine söz dizimini destekler. Ö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.

Programlanmış bir işlevi dağıtma

Programlanmış bir işlev dağıttığınızda ilgili programlayıcı işi ve pub/sub konusu otomatik olarak oluşturulur. Firebase CLI, konu adını gösterir. İşi ve 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.