Salut, je me demandais si quelqu'un avait des exemples d'utilisation des fonctions Cron Schedule sur Strapi: https://strapi.io/documentation/3.xx/configurations/configurations.html#functions comme envoyer des e-mails, accéder à la configuration de strapi, etc.
3 Réponses :
'*/1 * * * *': async() => { console.log("I am running " + new Date(), Object.keys(strapi.config)); await strapi.services.article.publish(); } In your-project/config/functions/cron.js. you can add as many functions in the above format. The function name in itself is a cron expression which is parsed by strapi to execute at frequent intervals. There are many online tools that will tell you the cron expression that you want to create.The above function runs every 1 minute, by which I am publishing a content type by using strapi.services. i.e. in file your-project/api/article/services/Article.js I have written a service layer method that at the moment is publishing an article.Similarly, you can send an email from your email content type or any utility file that you have made to trigger an email. For accessing strapi config use: strapi.config object instead of strapi.services
Strapi 3 a les tâches cron désactivées par défaut. Assurez-vous de les activer d'abord :)
Vous n'avez pas non plus besoin de faire * / 1 pour chaque minute dans une tâche cron, juste *, car * signifie chaque, et il ne vérifie qu'une fois par minute.
Je pense que cela n'est plus disponible via l'interface utilisateur et que vous devez le faire via server.json
Nous devons faire dans server.js: cron: {enabled: true}
Mon exigence était de récupérer les données d'une base de données MSSQL externe (données de base) hébergée sous RDS (AWS) et de mettre à jour le catalogue du produit strapi (mongodb) toutes les minutes.
J'ai créé un dossier "cron" personnalisé sous "root" pour garder tous mes modules personnalisés afin de garder un "cron.js" propre.
Sous "cron.js" j'ai importé simplement mon module personnalisé pour appeler le module externe:
const fwSync = require('../../cron/dataSync');
L'exemple de la documentation ne suffit pas? Qu'essayez-vous de faire exactement?