Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

일정 기능

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

함수가 지정된 시간에 실행되도록 예약하려면 functions.pubsub.schedule().onRun() 을 사용하세요. 이 편리한 메서드는 Pub/Sub 주제를 만들고 Cloud Scheduler 를 사용하여 해당 주제에 대한 이벤트를 트리거하여 함수가 다음에 실행되도록 합니다. 원하는 일정.

시작하기 전에

Firebase 프로젝트에서 이 솔루션을 사용하려면 프로젝트가 Blaze 요금제에 있어야 합니다. 아직 Blaze 요금제에 포함되어 있지 않다면 요금제를 업그레이드하세요 .

청구가 필요하지만 각 Cloud Scheduler 작업의 비용은 월 $0.10(USD)이고 Google 계정당 3개의 작업이 무료로 허용되므로 전체 비용을 관리할 수 있을 것으로 예상할 수 있습니다. Blaze 가격 계산기 를 사용하여 예상 사용량을 기반으로 비용 추정치를 생성합니다.

프로젝트에 Pub/Sub 및 Cloud Scheduler API를 사용 설정해야 합니다. 대부분의 Firebase 프로젝트에서 이미 활성화되어 있어야 합니다. Google Cloud Platform 콘솔 에서 확인할 수 있습니다.

예약된 함수 작성

Firebase용 Cloud Functions에서 예약 로직은 특별한 배포 시간 요구사항 없이 함수 코드에 있습니다. 예약된 함수를 만들려면 functions.pubsub.schedule('your schedule').onRun((context)) 을 사용하세요. 예를 들어 App Engine cron.yaml 구문을 사용하여 5분마다 함수를 실행하려면 다음과 같이 하세요.

exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
  console.log('This will be run every 5 minutes!');
  return null;
});

Cloud Scheduler는 Unix Crontab 및 App Engine 구문을 모두 지원합니다. 예를 들어, Crontab을 사용하여 예약된 기능을 실행할 특정 시간대를 선택하려면 다음과 같이 하십시오.

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;
});

timeZone 의 값은 tz 데이터베이스 의 시간대 이름이어야 합니다. 지원되는 속성에 대한 자세한 내용은 Cloud Scheduler 참조 를 확인하세요.

예약된 기능 배포

예약된 기능을 배포하면 관련 스케줄러 작업 및 게시/구독 주제가 자동으로 생성됩니다. Firebase CLI는 주제 이름을 반영하며 GCP 콘솔 에서 작업과 주제를 볼 수 있습니다. 주제의 이름은 다음 규칙에 따라 지정됩니다.

firebase-scheduled- function_name - region

예를 들어:

firebase-scheduled-scheduledFunctionCrontab-us-east1.