Funktionen planen (1. Generation)

Wenn Sie Funktionen so planen möchten, dass sie zu bestimmten Zeiten ausgeführt werden, verwenden Sie den Handler onSchedule, um ein Pub/Sub-Thema zu erstellen, das Cloud Scheduler verwendet, um Ereignisse für dieses Thema auszulösen.

Hinweis

Geplante Funktionen werden zwar in Rechnung gestellt, die Gesamtkosten sind jedoch überschaubar, da jeder Cloud Scheduler-Job 0,10 $ pro Monat kostet und pro Google-Konto drei Jobs kostenlos sind. Mit dem Blaze-Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung erstellen.

Die APIs Pub/Sub und Cloud Scheduler müssen für Ihr Projekt aktiviert sein. Diese sollten für die meisten Firebase-Projekte bereits aktiviert sein. Sie können dies in der Google Cloud Console prüfen.

Geplante Funktion schreiben

In Cloud Functions for Firebase befindet sich die Planungslogik im Funktionscode, ohne besondere Anforderungen an die Bereitstellungszeit. Verwenden Sie functions.pubsub.schedule('your schedule').onRun((context)), um eine geplante Funktion zu erstellen. Wenn Sie beispielsweise eine Funktion alle fünf Minuten mit der App Engine-cron.yaml-Syntax ausführen möchten, gehen Sie so vor:

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

Sowohl die Unix-Crontab- als auch die App Engine-Syntax werden von Cloud Scheduler unterstützt. Wenn Sie beispielsweise mit Crontab eine bestimmte Zeitzone auswählen möchten, in der eine geplante Funktion ausgeführt werden soll, gehen Sie so vor:

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;
});

Der Wert für timeZone muss ein Zeitzonenname aus der tz-Datenbank sein. Weitere Informationen zu unterstützten Attributen finden Sie in der Referenz zu Cloud Scheduler.

Geplante Funktion bereitstellen

Wenn Sie eine geplante Funktion bereitstellen, werden der zugehörige Planerjob und das Pub/Sub-Thema automatisch erstellt. Die Firebase-Befehlszeile gibt den Namen des Themas aus. Sie können den Job und das Thema in der Google Cloud-Console aufrufen. Das Thema wird nach der folgenden Konvention benannt:

firebase-scheduled-function_name-region

Beispiel:

firebase-scheduled-scheduledFunctionCrontab-us-east1.