Platform
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 via back4app pour ce tutoriel, en exemple, vous allez créer une tâche cron qui supprime les utilisateurs de votre tableau de bord parse tableau de bord parse 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 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 pour apprendre à créer une application parse sur back4app connaissances sur le cloud code remarque suivez le tutoriel cloud code pour android ou le tutoriel cloud code pour ios pour plus d'informations un appareil (ou appareil virtuel ) fonctionnant sous android 4 0 (ice cream sandwich) ou plus récent 1 créez votre code de tâche cron créez un js js fichier pour mettre votre code de tâche cron dans cet exemple, un main js main js fichier est créé dans un cloud code cloud code répertoire définissez une fonction de tâche en utilisant parse cloud job parse cloud job dans cet exemple, le code suivant vérifie chaque utilisateur dans votre parse dashboard parse dashboard , 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 intervaloftime intervaloftime 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 intervaloftime intervaloftime 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 intervaloftime intervaloftime 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 js js fichier avec le intervaloftime intervaloftime indésirable et suivez l'étape 2 pour télécharger le fichier avec le bon intervaloftime intervaloftime 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 ou le tutoriel cloud code pour ios allez à votre application sur le back4app site et cliquez sur tableau de bord tableau de bord trouvez le code cloud code cloud et cliquez sur fonctions et hébergement web fonctions et hébergement web cela ressemble à ceci 3\ téléchargez ou créez un nouveau fichier (vous pouvez également modifier le main js main js fichier directement dans le navigateur) ensuite, cliquez sur déployer déployer comme montré ici 3 planifier une tâche cron sur back4app allez sur votre application sur le site web back4app et cliquez sur paramètres du serveur paramètres du serveur trouvez le bloc “tâches en arrière plan” et cliquez sur paramètres paramètres 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 modifier modifier , exécuter maintenant exécuter maintenant , ou supprimer supprimer un cron job existant, cliquez sur le parcourir un job parcourir un job bouton 4\ une page de planification d'un job apparaîtra et vous devrez remplir le description description de votre job avec sa description et également le champ job cloud job cloud 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 removeinvalidlogin removeinvalidlogin 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 enregistrer enregistrer bouton 4 testez votre application créez quelques utilisateurs avec emailverified emailverified colonne définie sur faux faux dans votre parse dashboard parse dashboard , comme montré ci dessous 2\ exécutez votre application et rafraîchissez votre parse dashboard parse dashboard cela devrait avoir détruit les utilisateurs non vérifiés pour le parse dashboard parse dashboard 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 et cliquez sur paramètres du serveur paramètres du serveur trouvez le bloc “journaux” et cliquez sur paramètres paramètres le bloc “journaux” ressemble à ceci 3 faites défiler la page jusqu'à ce que vous voyiez le journal système du serveur journal système du serveur 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 !