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.