[firebase] Firebase 용 Cloud Functions가 정시에 트리거 되나요?

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


답변