Planowanie funkcji

.


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.