125 votes

Les fonctions de cloud pour Firebase se déclenchent à l'heure?

Je cherche un moyen de planifier des fonctions de cloud pour Firebase ou, en d'autres termes, de les déclencher à une heure précise.

139voto

Frank van Puffelen Points 16029

Mise à jour 2019-04-18

Il y a maintenant un moyen très simple de déployer prévue le code sur le Cloud Fonctions par le biais de Firebase.

Vous pouvez utiliser un simple texte de la syntaxe:

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

Ou le plus flexible cron forme de tableau:

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

Pour en savoir plus à ce sujet, voir:

Notez que votre projet doit être sur un Blaze plan pour que cela fonctionne, je suis donc en laissant les options alternatives ci-dessous pour référence.

Original de la réponse ci-dessous...


Il n'est pas intégré dans le runat/cron déclencheur de type encore.

Pour le moment, la meilleure option est d'utiliser un service externe pour déclencher une HTTP périodique de la fonction. Voir cet exemple dans les fonctions-les échantillons de repo pour plus d'informations. Ou utiliser le récemment introduit Google Cloud Planificateur de déclencher Cloud Fonctions par le biais de PubSub ou HTTPS:

enter image description here

Je recommande fortement la lecture de ce post sur le Firebase blog: Comment Planifier (Cron) des Emplois, avec des Nuages de Fonctions pour Firebase et cette vidéo: Synchronisation Cloud Fonctions de Firebase en utilisant un HTTP Déclencheur et Cron.

17voto

mhaligowski Points 1033

Ce que vous pouvez faire est de créer une instance AppEngine déclenchée par le travail cron et émise vers PubSub. J'ai écrit un article de blog spécifiquement à ce sujet, vous voudrez peut-être jeter un coup d'oeil:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X