programing

Firebase 트리거를 위한 클라우드 기능 제 시간에?

goodcopy 2023. 6. 17. 22:43
반응형

Firebase 트리거를 위한 클라우드 기능 제 시간에?

Firebase용 클라우드 기능을 예약하거나 특정 시간에 트리거할 방법을 찾고 있습니다.

2019-04-18 업데이트

이제 Firebase를 통해 클라우드 기능에 예약된 코드를 배포하는 매우 간단한 방법이 있습니다.

간단한 텍스트 구문을 사용할 수 있습니다.

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

또는 보다 유연한 cron 테이블 형식:

export scheduledFunctionCrontab =
functions.pubsub.schedule('5 11 * * *').onRun((context) => {
    console.log('This will be run every day at 11:05 AM UTC!');
});

자세한 내용은 다음을 참조하십시오.

이 작업을 수행하려면 귀하의 프로젝트가 Blaze 계획에 있어야 하므로 아래의 대체 옵션을 참조용으로 남겨 둡니다.

다른 트리거 실행 내에서 지연될 때 단일 Cloud Function 호출을 예약하려는 경우 클라우드 작업을 사용하여 이를 설정할 수 있습니다. 기능이 작동하는 방법에 대한 확장된 예를 보려면 이 기사를 읽으십시오.

아래의 원본 답변...


내장 runat/cron 유형 트리거가 아직 없습니다.

현재로서는 외부 서비스를 사용하여 HTTP 기능을 주기적으로 트리거하는 것이 가장 좋습니다.자세한 내용은 함수-표본 repo의 이 표본을 참조하십시오.또는 최근에 소개된 Google Cloud Scheduler를 사용하여 PubSub 또는 HTTPS를 통해 클라우드 기능을 트리거할 수 있습니다.

enter image description here

또한 Firebase 블로그에서 이 게시물을 읽는 것을 강력히 추천합니다.Firebase 및 이 비디오에서 클라우드 기능을 사용하여 Cron 작업을 예약하는 방법:HTTP 트리거 및 Cron을 사용한 Firebase용 타이밍 클라우드 기능.

이 마지막 링크는 cron-job.org 을 사용하여 클라우드 기능을 트리거하며 무료 요금제의 프로젝트에서 작동합니다.이렇게 하면 누구나 권한 없이 함수를 호출할 수 있으므로 코드 자체에 일부 남용 방지 메커니즘을 포함할 수 있습니다.

cron 작업에 의해 트리거되고 PubSub로 방출되는 AppEngine 인스턴스를 스핀업할 수 있습니다.제가 특별히 블로그에 글을 올렸는데, 한 번 보세요.

https://mhaligowski.github.io/blog/2017/05/25/scheduled-cloud-function-execution.html

먼저 문서에 따라 함수가 실행되는 기본 표준 시간대는 America/Los_Angeles입니다.다른 표준 시간대에서 기능을 트리거하려면 여기에서 표준 시간대 목록을 찾을 수 있습니다.

NB!!: 여기 cron 테이블 형식을 지원하는 유용한 웹 사이트가 있습니다(나는 그것이 꽤 유용하다는 것을 알았습니다).

다음과 같이 진행할 수 있습니다. (아프리카/요하네스버그를 표준 시간대로 사용할 경우)

export const executeFunction = functions.pubsub.schedule("10 23 * * *")
    .timeZone('Africa/Johannesburg').onRun(() => { 
       console.log("successfully executed at 23:10 Johannesburg Time!!");
    });

그렇지 않으면 기본값을 그대로 유지할 수 있습니다.

export const executeFunction = functions.pubsub.schedule("10 23 * * *")
    .onRun(() => { 
       console.log("successfully executed at 23:10 Los Angeles Time!!");
    });

언급URL : https://stackoverflow.com/questions/42790735/cloud-functions-for-firebase-trigger-on-time

반응형