Tâche Cron
13 min
comment créer votre tâche cron parse introduction cette section explique comment vous pouvez planifier une tâche cron en utilisant les fonctionnalités principales de parse server https //www back4app com/product/parse server via back4app pour ce tutoriel, en exemple, vous allez créer une tâche cron qui supprime les utilisateurs de votre \<font color="#2166ae">tableau de bord parse\</font> qui n'ont pas vérifié leurs emails un certain temps après leur inscription à tout moment, vous pouvez accéder au projet complet construit pour ce tutoriel sur notre dépôt github https //github com/back4app/android background jobs conditions préalables pour compléter ce tutoriel, vous avez besoin de une application créée sur back4app remarque suivez le tutoriel de nouvelle application parse https //www back4app com/docs/get started/new parse app pour apprendre à créer une application parse sur back4app connaissances sur le cloud code remarque suivez le tutoriel cloud code pour android https //www back4app com/docs/android/parse cloud code ou le tutoriel cloud code pour ios https //www back4app com/docs pour plus d'informations un appareil (ou appareil virtuel https //developer android com/studio/run/managing avds?hl=pt br ) fonctionnant sous android 4 0 (ice cream sandwich) ou plus récent 1 créez votre code de tâche cron créez un \<font color="#2166ae"> js\</font> fichier pour mettre votre code de tâche cron dans cet exemple, un \<font color="#2166ae">main js\</font> fichier est créé dans un \<font color="#2166ae">cloud code\</font> répertoire définissez une fonction de tâche en utilisant \<font color="#2166ae">parse cloud job\</font> dans cet exemple, le code suivant vérifie chaque utilisateur dans votre \<font color="#2166ae">parse dashboard\</font> , puis interroge ceux qui n'ont toujours pas vérifié leur email après un certain temps et les détruit parse server 3 x main js 1 parse cloud job("removeinvalidlogin", async (request) => { 2 let date = new date(); 3 let timenow = date gettime(); 4 let intervaloftime = 3 60 1000; // the time set is 3 minutes in milliseconds 5 let timethen = timenow intervaloftime; 6 7 // limit date 8 let querydate = new date(); 9 querydate settime(timethen); 10 11 // the query object 12 let query = new parse query(parse user); 13 14 // query the users that still unverified after 3 minutes 15 query equalto("emailverified", false); 16 query lessthanorequalto("createdat", querydate); 17 18 const results = await query find({usemasterkey\ true}); 19 20 results foreach(object => { 21 object destroy({usemasterkey true}) then(destroyed => { 22 console log("successfully destroyed object" + json stringify(destroyed)); 23 }) catch(error => { 24 console log("error " + error code + " " + error message); 25 }) 26 }); 27 28 return ("successfully retrieved " + results length + " invalid logins "); 29 }); parse server 2 x main js 1 parse cloud job("removeinvalidlogin", function (request, response) { 2 var date = new date(); 3 var timenow = date gettime(); 4 var intervaloftime = 3 60 1000; // the time set is 3 minutes in milliseconds 5 var timethen = timenow intervaloftime; 6 7 // limit date 8 var querydate = new date(); 9 querydate settime(timethen); 10 11 // the query object 12 var query = new parse query(parse user); 13 14 // query the users that still unverified after 3 minutes 15 query equalto("emailverified", false); 16 query lessthanorequalto("createdat", querydate); 17 18 query find({ 19 success function (results) { 20 console log("successfully retrieved " + results length + " invalid logins "); 21 22 // destroying the invalid users 23 query each(function (object, err) { 24 object destroy({ 25 success function (object) { 26 response success("successfully destroyed object " + object objectid); 27 }, 28 error function (error) { 29 response error("error " + error code + " " + error message); 30 }, 31 usemasterkey true // very important!! 32 }) 33 }) 34 }, 35 error function (error) { 36 response error("error " + error code + " " + error message); 37 } 38 }); 39 }); il est nécessaire d'utiliser la clé maître dans cette opération vous pouvez modifier le \<font color="#2166ae"> intervaloftime\</font> contenu avec la durée que vous pensez qu'un utilisateur non vérifié peut encore avoir son compte actif sans le vérifier n'oubliez pas que pour tester votre application, de petits intervalles de temps sont meilleurs il est donc suggéré de définir le \<font color="#2166ae"> intervaloftime\</font> contenu à trois minutes pour tester si le cron job fonctionne, puis de changer le code javascript avec la durée que vous souhaitez réellement que \<font color="#2166ae">intervaloftime\</font> soit n'oubliez pas que les modifications apportées au fichier javascript ne sont prises en compte dans votre application que si vous téléchargez à nouveau le fichier sur le bloc de code cloud de back4app pour ce faire, supprimez le \<font color="#2166ae"> js\</font> fichier avec le \<font color="#2166ae">intervaloftime\</font> indésirable et suivez l'étape 2 pour télécharger le fichier avec le bon \<font color="#2166ae">intervaloftime\</font> contenu 2 télécharger le cron job sur cloud code pour en savoir plus sur la façon de commencer avec cloud code, consultez le tutoriel cloud code pour android https //www back4app com/docs/android/parse cloud code ou le tutoriel cloud code pour ios https //www back4app com/docs allez à votre application sur le back4app https //www back4app com/ site et cliquez sur \<font color="#2166ae">tableau de bord\</font> trouvez le \<font color="#2166ae">code cloud\</font> et cliquez sur \<font color="#2166ae">fonctions et hébergement web\</font> cela ressemble à ceci 3\ téléchargez ou créez un nouveau fichier (vous pouvez également modifier le \<font color="#2166ae">main js\</font> fichier directement dans le navigateur) ensuite, cliquez sur \<font color="#2166ae">déployer\</font> comme montré ici 3 planifier une tâche cron sur back4app allez sur votre application sur le site web back4app https //www back4app com/ et cliquez sur \<font color="#2166ae">paramètres du serveur\</font> trouvez le bloc “tâches en arrière plan” et cliquez sur \<font color="#2166ae">paramètres\</font> le bloc “tâches en arrière plan” ressemble à ceci 3\ une page de tâches en arrière plan apparaîtra et deux options seront affichées parcourir une tâche ou planifier une tâche cliquez sur planifier une tâche, comme indiqué ci dessous si vous voulez \<font color="#2166ae">modifier\</font> , \<font color="#2166ae">exécuter maintenant\</font> , ou \<font color="#2166ae">supprimer\</font> un cron job existant, cliquez sur le \<font color="#2166ae">parcourir un job\</font> bouton 4\ une page de planification d'un job apparaîtra et vous devrez remplir le \<font color="#2166ae">description\</font> de votre job avec sa description et également le champ \<font color="#2166ae">job cloud\</font> avec le nom que vous avez donné à votre cron job dans la première ligne de son code javascript dans cet exemple, le nom du cron job créé est \<font color="#2166ae">removeinvalidlogin\</font> 5\ vous pouvez également définir d'autres options pour votre cron job, comme à quelle heure il doit commencer à s'exécuter, s'il doit se répéter, et à quelle fréquence après avoir rempli ces options selon vos préférences, cliquez sur le \<font color="#2166ae">enregistrer\</font> bouton 4 testez votre application créez quelques utilisateurs avec \<font color="#2166ae">emailverified\</font> colonne définie sur \<font color="#2166ae">faux\</font> dans votre \<font color="#2166ae">parse dashboard\</font> , comme montré ci dessous 2\ exécutez votre application et rafraîchissez votre \<font color="#2166ae">parse dashboard\</font> cela devrait avoir détruit les utilisateurs non vérifiés pour le \<font color="#2166ae">parse dashboard\</font> montré ci dessus, voici le résultat vous pouvez également voir si le cron job fonctionne en accédant aux journaux de back4app pour ce faire, suivez ces étapes allez sur votre application sur le site web de back4app https //www back4app com/ et cliquez sur \<font color="#2166ae">paramètres du serveur\</font> trouvez le bloc “journaux” et cliquez sur \<font color="#2166ae">paramètres\</font> le bloc “journaux” ressemble à ceci 3 faites défiler la page jusqu'à ce que vous voyiez le \<font color="#2166ae">journal système du serveur\</font> là, vous devriez trouver des informations sur le cron job qui s'exécute, comme indiqué ci dessous c'est fait ! à ce stade, vous pouvez planifier des cron jobs dans votre application en utilisant les fonctionnalités de parse server core via back4app !