Jeśli chcesz zaplanować uruchamianie funkcji o określonych porach, użyj funkcji
za pomocą modułu obsługi onSchedule
Temat Pub/Sub, który używa
Cloud Scheduler, aby aktywować zdarzenia
na dany temat.
Zanim zaczniesz
Aby korzystać z tego rozwiązania w projekcie Firebase, Twój projekt musi znajdować się w Abonament Blaze. Jeśli nie masz abonamentu Blaze, przejdź na wyższą wersję abonamentu.
Choć płatności są wymagane, możesz spodziewać się, że ogólny koszt będzie możliwy do kontrolowania, każde zadanie Cloud Scheduler kosztuje 0, 10 USD miesięcznie. 3 oferty pracy na jednym koncie Google, bez ponoszenia opłat. Korzystanie z Blaze kalkulator cen do wygenerowania szacowanego kosztu na podstawie przewidywanego wykorzystania.
Interfejsy API Pub/Sub i Cloud Scheduler muszą być włączone w Twojej firmie w projektach AI. Funkcje te powinny być już włączone w większości projektów Firebase. możesz Sprawdź go w konsoli Google Cloud.
Tworzenie zaplanowanej funkcji
W Cloud Functions for Firebase logika planowania znajduje się w kodzie funkcji,
bez specjalnych wymagań dotyczących czasu wdrażania. Aby utworzyć zaplanowaną funkcję,
użyj funkcji functions.pubsub.schedule('your schedule').onRun((context))
.
Aby na przykład uruchamiać funkcję co
pięć minut z
App Engine cron.yaml
w składni, zrób to:
exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
console.log('This will be run every 5 minutes!');
return null;
});
Składnia narzędzia crontab Unix i składni App Engine są obsługiwane przez usługę Cloud Scheduler. Na przykład aby użyć Crontab, aby wybrać w określonej strefie czasowej, w której chcesz uruchomić zaplanowaną funkcję, zrób to tak:
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;
});
Wartość pola timeZone
musi być nazwą strefy czasowej z tagu
baza danych TZ. Zobacz
Cloud Scheduler – dokumentacja
.
Wdrażanie zaplanowanej funkcji
Gdy wdrażasz zaplanowaną funkcję, powiązane zadanie algorytmu szeregowania i Pub/Sub tematy są tworzone automatycznie. Interfejs wiersza poleceń Firebase powtarza nazwę tematu, a zadanie i temat możesz wyświetlić w Konsola Google Cloud. Temat ma nazwę zgodnie z tą konwencją:
firebase-scheduled-function_name-region
Przykład:
firebase-scheduled-scheduledFunctionCrontab-us-east1.