Tareas programadas con Firebase functions.

December 20, 2019 • ☕️ 1 minutos de lectura

¿Para que necesito programar una tarea?

Hoy aprenderemos a programar tareas desde firebase functions. Firebase nos ayuda con su propia herramienta muy similar Cron, llamada Google Scheduler.

Usaremos functions.pubsub.schedule('your schedule').onRun((context)) para crear una función programada.

Sintaxis cron estándar de Google Scheduler

exports.myCronFunction = functions.pubsub
	.schedule(*****)
	.onRun(() => {
    console.log('Esto se ejecutará cada minuto')
    return null
	})

Texto plano

exports.scheduledFunctionPlainEnglish = functions.pubsub
  .schedule("every 5 minutes")
  .onRun(context => {
    console.log("Esto se ejecutará cada 5 minutos")
    return null
  })

Cambiar zona horaria

Para cambiar al zona horaria, que por defecto está America/Los_Angeles tendremos que añadir .timeZone('Europe/Madrid')

Si quieres saber todas las zonas horarias compatible, puede mirarlo aquí

exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 11 * * *')
  .timeZone('Europe/Madrid') // Users can choose timezone - La que usa por defecto es America/Los_Angeles
  .onRun((context) => {
  console.log('This will be run every day at 11:05 AM Eastern!');
  return null;
});

Cuando implementas una función programada, se crean automáticamente el trabajo de Scheduler relacionado y el tema de Pub/Sub. puedes ver ambos elementos en GCP Console. Firebase añadirá automáticamente un nombre usando esta convención:

firebase-scheduled-nombredela_función-región.