Firebase Functions - Funções em Cron

Descubra como configurar funções automáticas no Firebase com agendamento de tarefas de forma simples utilizando a expressão cron

Firebase Functions - Funções em Cron

Olá meus Unicórnios! 🦄✨

Um dos recursos que mais gosto no Firebase, é poder criar funções que são chamadas automaticamente de tempos em tempos, o típico "CRON".

Para isto, precisamos utilizar a versão "v1" da dependência "firebase-functions":

const fireFunctions = require("firebase-functions/v1");

Para criar funções de Cron, iremos utilizar o "pubsub" com "schedule":

fireFunctions.pubsub
.schedule("* * * * *")
.timeZone("America/Sao_Paulo")

No exemplo acima, estamos chamando a função a cada 1 minuto.

Aqui o tempo é controlado pelo "cron expression" (Padrão do Linux), caso você não saiba como preencher, pode criar a expressão abaixo:

Free Online Cron Expression Generator and Describer - FreeFormatter.com
This free online tool lets you build a Quartz Cron expression or converts one in readable text format

Nesta função, iremos chamar o "webhook.site" usando o Axios:

const functions = require("firebase-functions");  
const fireFunctions = require("firebase-functions/v1");
const axios = require("axios");

exports.helloworld = functions.https.onRequest(async (req, res) => {

    res.json({ Status: "OK" });

});

exports.cronteste1 = fireFunctions.pubsub
.schedule("* * * * *")
.timeZone("America/Sao_Paulo")
.onRun(async () => {

    const response = await axios.get("https://webhook.site/711727fd-5b45-4fe7-a555-0c69a6830a5d");

});

Depois do Deploy, podemos ver as requisições sendo recebidas:

Observe que dentro do Painel do Firebase, estas funções possuem uma indicação de que são funções via Cron:

Por hoje é só, meus unicórnios! 🦄✨

Que a magia do arco-íris continue brilhando em suas vidas! Até mais! 🌈🌟