Firebase 용 Cloud Functions를 예약하거나 특정 시간에 트리거하는 방법을 찾고 있습니다.
답변
업데이트 2019-04-18
이제 Firebase를 통해 Cloud Functions에 예약 된 코드를 배포하는 매우 간단한 방법이 있습니다.
간단한 텍스트 구문을 사용할 수 있습니다.
export scheduledFunctionPlainEnglish =
functions.pubsub.schedule('every 5 minutes').onRun((context) => {
console.log('This will be run every 5 minutes!');
})
또는 더 유연한 크론 테이블 형식 :
export scheduledFunctionCrontab =
functions.pubsub.schedule('5 11 * * *').onRun((context) => {
console.log('This will be run every day at 11:05 AM UTC!');
});
이에 대한 자세한 내용은 다음을 참조하십시오.
- 중포 기지에 대한 일정 클라우드 기능은 이 기능을 소개하는 글을 블로그.
- 예정된 기능에 대한 문서 .
이 작업을 수행하려면 프로젝트가 Blaze 요금제에 있어야하므로 아래의 대체 옵션을 참조 용으로 남겨 두겠습니다.
다른 트리거 실행 내에서 지연 되는 경우 Cloud 함수의 단일 호출을 예약하려는 경우 Cloud Tasks 를 사용 하여 설정할 수 있습니다. 어떻게 작동하는지에 대한 확장 예제를 보려면이 기사 를 읽으십시오 .
아래의 원래 답변 …
아직 내장 runat / cron 유형 트리거가 없습니다.
현재 가장 좋은 방법은 외부 서비스를 사용하여 HTTP 기능을 주기적으로 트리거하는 것입니다. 자세한 내용은 functions-samples 저장소 에서이 샘플 을 참조하세요. 또는 최근에 도입 된 Google Cloud 스케줄러를 사용하여 PubSub 또는 HTTPS를 통해 Cloud Functions를 트리거합니다.
또한 Firebase 블로그 (Firebase 용 Cloud Functions를 사용하여 (Cron) 작업을 예약하는 방법) 및이 동영상 : HTTP 트리거 및 Cron을 사용하여 Firebase 용 Cloud 함수 타이밍 에 대한이 게시물을 읽는 것이 좋습니다 .
마지막 링크는 cron-job.org 를 사용 하여 Cloud Functions를 트리거하고 무료 요금제에있는 프로젝트에서 작동합니다. 이렇게하면 누구나 권한없이 함수를 호출 할 수 있으므로 코드 자체에 남용 방지 메커니즘을 포함 할 수 있습니다.
답변
할 수있는 일은 크론 작업에 의해 트리거되고 PubSub로 내보내는 AppEngine 인스턴스를 스핀 업하는 것입니다. 나는 그것에 대해 특별히 블로그 게시물을 썼습니다.
https://mhaligowski.github.io/blog/2017/05/25/scheduled-cloud-function-execution.html