Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Programar funciones

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Si desea programar funciones para que se ejecuten en momentos específicos, use functions.pubsub.schedule().onRun() Este método conveniente crea un tema de Pub/Sub y usa Cloud Scheduler para activar eventos en ese tema, lo que garantiza que su función se ejecute en el horario deseado.

Antes de que empieces

Para usar esta solución en su proyecto de Firebase, su proyecto debe estar en el plan de precios de Blaze. Si aún no está en el plan Blaze, actualice su plan de precios .

Aunque se requiere facturación, puede esperar que el costo total sea manejable, ya que cada trabajo de Cloud Scheduler cuesta $ 0.10 (USD) por mes, y hay una asignación de tres trabajos por cuenta de Google, sin cargo. Use la calculadora de precios de Blaze para generar una estimación de costos basada en su uso proyectado.

Las API de Pub/Sub y Cloud Scheduler deben estar habilitadas para tu proyecto. Estos ya deberían estar habilitados para la mayoría de los proyectos de Firebase; puede verificar en Google Cloud Platform Console .

Escribir una función programada

En Cloud Functions para Firebase, la lógica de programación reside en su código de funciones, sin requisitos especiales de tiempo de implementación. Para crear una función programada, use functions.pubsub.schedule('your schedule').onRun((context)) . Por ejemplo, para ejecutar una función cada cinco minutos con la sintaxis cron.yaml de App Engine , haga algo como esto:

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

Tanto la sintaxis de Unix Crontab como la de App Engine son compatibles con Cloud Scheduler. Por ejemplo, para usar Crontab para seleccionar una zona horaria específica en la que ejecutar una función programada, haga algo como esto:

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

El valor de timeZone debe ser un nombre de zona horaria de la base de datos tz . Consulte la referencia de Cloud Scheduler para obtener más información sobre las propiedades admitidas.

Implementar una función programada

Cuando implementa una función programada, el trabajo del programador relacionado y el tema de publicación/suscripción se crean automáticamente. Firebase CLI repite el nombre del tema y puedes ver el trabajo y el tema en GCP Console . El tema se nombra de acuerdo con la siguiente convención:

firebase-scheduled- function_name - region

Por ejemplo:

firebase-scheduled-scheduledFunctionCrontab-us-east1.

,

Si desea programar funciones para que se ejecuten en momentos específicos, use functions.pubsub.schedule().onRun() Este método conveniente crea un tema de Pub/Sub y usa Cloud Scheduler para activar eventos en ese tema, lo que garantiza que su función se ejecute en el horario deseado.

Antes de que empieces

Para usar esta solución en su proyecto de Firebase, su proyecto debe estar en el plan de precios de Blaze. Si aún no está en el plan Blaze, actualice su plan de precios .

Aunque se requiere facturación, puede esperar que el costo total sea manejable, ya que cada trabajo de Cloud Scheduler cuesta $ 0.10 (USD) por mes, y hay una asignación de tres trabajos por cuenta de Google, sin cargo. Use la calculadora de precios de Blaze para generar una estimación de costos basada en su uso proyectado.

Las API de Pub/Sub y Cloud Scheduler deben estar habilitadas para tu proyecto. Estos ya deberían estar habilitados para la mayoría de los proyectos de Firebase; puede verificar en Google Cloud Platform Console .

Escribir una función programada

En Cloud Functions para Firebase, la lógica de programación reside en su código de funciones, sin requisitos especiales de tiempo de implementación. Para crear una función programada, use functions.pubsub.schedule('your schedule').onRun((context)) . Por ejemplo, para ejecutar una función cada cinco minutos con la sintaxis cron.yaml de App Engine , haga algo como esto:

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

Tanto la sintaxis de Unix Crontab como la de App Engine son compatibles con Cloud Scheduler. Por ejemplo, para usar Crontab para seleccionar una zona horaria específica en la que ejecutar una función programada, haga algo como esto:

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

El valor de timeZone debe ser un nombre de zona horaria de la base de datos tz . Consulte la referencia de Cloud Scheduler para obtener más información sobre las propiedades admitidas.

Implementar una función programada

Cuando implementa una función programada, el trabajo del programador relacionado y el tema de publicación/suscripción se crean automáticamente. Firebase CLI repite el nombre del tema y puedes ver el trabajo y el tema en GCP Console . El tema se nombra de acuerdo con la siguiente convención:

firebase-scheduled- function_name - region

Por ejemplo:

firebase-scheduled-scheduledFunctionCrontab-us-east1.