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 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.