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 korzysta z:
Cloud Scheduler do aktywowania zdarzeń
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 Pub/Sub i Cloud Scheduler API muszą być włączone w Twojej w projektach AI. Funkcje te powinny być już włączone w większości projektów Firebase. możesz zweryfikować w konsoli Google Cloud Platform.
Tworzenie zaplanowanej funkcji
W Cloud Functions dla 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
Plik cron.yaml App Engine
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 Unix Crontab i składnia 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
Dokumentacja Cloud Scheduler
.
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 GCP. Temat ma nazwę zgodnie z tą konwencją:
firebase-scheduled-function_name-region
Przykład:
firebase-scheduled-scheduledFunctionCrontab-us-east1.