Funktionen planen (1. Generation)

Wenn Sie Funktionen so planen möchten, dass sie zu bestimmten Zeiten ausgeführt werden, verwenden Sie den onSchedule Handler, 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, aber die Gesamtkosten sind in der Regel ü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 die Kosten für Ihre voraussichtliche Nutzung kalkulieren.

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

Geplante Funktion schreiben

In Cloud Functions for Firebase, befindet sich die Planungslogik im Code Ihrer Funktionen, es gibt keine besonderen Anforderungen für die Bereitstellung. 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 Eigenschaften finden Sie in der Cloud Scheduler Referenz.

Geplante Funktion bereitstellen

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

firebase-scheduled-function_name-region

Beispiel:

firebase-scheduled-scheduledFunctionCrontab-us-east1.