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


답변:


113

업데이트 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를 트리거하고 무료 요금제에있는 프로젝트에서 작동합니다. 이렇게하면 누구나 권한없이 함수를 호출 할 수 있으므로 코드 자체에 남용 방지 메커니즘을 포함 할 수 있습니다.


1
이와 관련하여 변경된 사항은 없습니다. cron-job.orgJen이 블로그 게시물에서 언급 한 사실을 포함하면 무료로 사용할 수 있습니다.
Frank van Puffelen 2018

2
Jen의 동영상이 지원 중단됨으로 태그되었습니다. 그래서 그것을 할 다른 방법이 있습니까?
b-fg

2
이 접근법은 비디오 (및 블로그 게시물)가 만들어 졌을 때와 마찬가지로 오늘날에도 유효합니다. 구문이 약간 변경되었지만이 특정 사례는 영향을받지 않는다고 생각합니다. 이 작업을 수행하는 데 문제가있는 경우 이미 수행 한 작업을 보여주는 질문을 엽니 다.
Frank van Puffelen

1
와우, 마침내 그들은 그것을 간단하게 수행하는 방법을 구현했습니다! 드디어 !!!! 업데이트 주셔서 감사합니다
schankam

1
Cloud Scheduler 페이지에서 : Each Cloud Scheduler job costs $0.10 (USD) per month'작업'이 예약 된 항목이 실행될 때마다 발생하는 것이 아니라 타이머 당 비용을 의미한다고 가정합니다. 즉, 매분 실행되는 작업의 비용은 $ 0.10입니까? (호출하는 클라우드 기능 제외).
Aaron Ash

12

할 수있는 일은 크론 작업에 의해 트리거되고 PubSub로 내보내는 AppEngine 인스턴스를 스핀 업하는 것입니다. 나는 그것에 대해 특별히 블로그 게시물을 썼습니다.

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


1
매시간 한 번 트리거되는 크론 작업의 월별 예상 비용은 얼마입니까?
Ehtesham Hasan

3
@EhteshamHasan 잠재적으로 무료 인 것 같습니다 : cloud.google.com/free . 현재 28 개 인스턴스 시간 / 일 무료; 또한 무료 atm을 위해 크론을 실행하는 Linux가있는 Google Compute Engine의 f1-micro 인스턴스가 있습니다.
bitsoflogic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.