Lavoro pianificato
13 min
come creare il tuo lavoro cron di parse introduzione questa sezione spiega come puoi programmare un lavoro cron utilizzando le funzionalità principali di parse server https //www back4app com/product/parse server tramite back4app per questo tutorial, come esempio, costruirai un lavoro cron che rimuove gli utenti del tuo \<font color="#2166ae">parse dashboard\</font> che non hanno verificato le loro email dopo un certo periodo di tempo dalla registrazione in qualsiasi momento, puoi accedere al progetto completo costruito per questo tutorial nel nostro repository github https //github com/back4app/android background jobs requisiti per completare questo tutorial, hai bisogno di un'app creata su back4app nota segui il tutorial per nuova app parse https //www back4app com/docs/get started/new parse app per imparare come creare un'app parse su back4app conoscenza del cloud code nota segui il tutorial cloud code per android https //www back4app com/docs/android/parse cloud code o il tutorial cloud code per ios https //www back4app com/docs per ulteriori informazioni un dispositivo (o dispositivo virtual https //developer android com/studio/run/managing avds?hl=pt br ) che esegue android 4 0 (ice cream sandwich) o versioni successive 1 crea il codice del tuo cron job crea un \<font color="#2166ae"> js\</font> file per inserire il codice del tuo cron job in questo esempio, viene creato un \<font color="#2166ae">main js\</font> file in una \<font color="#2166ae">cloud code\</font> directory definisci una funzione di lavoro utilizzando \<font color="#2166ae">parse cloud job\</font> in questo esempio, il seguente codice verifica ogni utente nel tuo \<font color="#2166ae">parse dashboard\</font> , quindi interroga quelli che hanno ancora la loro email non verificata dopo un certo periodo e li distrugge 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 }); è necessario utilizzare la chiave principale in questa operazione puoi modificare il \<font color="#2166ae"> intervaloftime\</font> contenuto con la quantità di tempo che pensi un utente non verificato possa ancora avere il suo account attivo senza verificarlo non dimenticare che per testare la tua applicazione, piccoli intervalli di tempo sono migliori quindi, si suggerisce di impostare il \<font color="#2166ae"> intervaloftime\</font> contenuto a tre minuti per testare se il cron job funziona e poi cambiare il codice javascript con la quantità di tempo che desideri realmente \<font color="#2166ae">intervaloftime\</font> da avere non dimenticare che le modifiche al file javascript vengono calcolate nella tua applicazione solo se carichi nuovamente il file nel blocco cloud code di back4app per fare ciò, elimina il \<font color="#2166ae"> js\</font> file con il non desiderato \<font color="#2166ae">intervaloftime\</font> contenuto e segui il passo 2 per caricare il file con il corretto \<font color="#2166ae">intervaloftime\</font> contenuto 2 carica il cron job nel cloud code per saperne di più su come iniziare con il cloud code, guarda tutorial cloud code per android https //www back4app com/docs/android/parse cloud code o tutorial cloud code per ios https //www back4app com/docs vai alla tua app sul back4app https //www back4app com/ sito web e clicca su \<font color="#2166ae">dashboard\</font> trova il \<font color="#2166ae">cloud code\</font> e clicca su \<font color="#2166ae">funzioni e hosting web\</font> dovrebbe apparire così 3\ carica o crea un nuovo file (puoi anche modificare il \<font color="#2166ae">main js\</font> file direttamente nel browser) poi, clicca su \<font color="#2166ae">deploy\</font> come mostrato qui 3 pianifica un lavoro cron su back4app vai alla tua app sul sito web di back4app https //www back4app com/ e clicca su \<font color="#2166ae">impostazioni del server\</font> trova il blocco “lavori in background” e clicca su \<font color="#2166ae">impostazioni\</font> il blocco “lavori in background” appare così 3\ apparirà una pagina lavori in background e verranno visualizzate due opzioni esegui un lavoro o pianifica un lavoro clicca su pianifica un lavoro, come mostrato di seguito se vuoi \<font color="#2166ae">modificare\</font> , \<font color="#2166ae">esegui ora\</font> , o \<font color="#2166ae">eliminare\</font> un cron job esistente, clicca sul \<font color="#2166ae">browser a job\</font> pulsante 4\ apparirà una pagina per pianificare un lavoro e dovrai compilare il campo \<font color="#2166ae">descrizione\</font> del tuo lavoro con la sua descrizione e anche il campo \<font color="#2166ae">cloud job\</font> con il nome che hai impostato per il tuo cron job nella prima riga del suo codice javascript in questo esempio, il nome del cron job creato è \<font color="#2166ae">removeinvalidlogin\</font> 5\ puoi anche impostare altre opzioni per il tuo cron job, come a che ora dovrebbe iniziare a funzionare, se dovrebbe ripetersi e con quale frequenza dopo aver compilato queste opzioni secondo le tue preferenze, clicca sul \<font color="#2166ae">salva\</font> pulsante 4 testa la tua app crea alcuni utenti con \<font color="#2166ae">emailverified\</font> colonna impostata su \<font color="#2166ae">false\</font> nel tuo \<font color="#2166ae">parse dashboard\</font> , come mostrato di seguito 2\ esegui la tua applicazione e aggiorna il tuo \<font color="#2166ae">parse dashboard\</font> dovrebbe aver distrutto gli utenti non verificati per il \<font color="#2166ae">parse dashboard\</font> mostrato sopra, questo è il risultato puoi anche vedere se il cron job sta funzionando accedendo ai log di back4app per farlo, segui questi passaggi vai alla tua app sul sito web di back4app https //www back4app com/ e clicca su \<font color="#2166ae">impostazioni del server\</font> trova il blocco “logs” e clicca su \<font color="#2166ae">impostazioni\</font> il blocco “logs” appare così 3 scorri la pagina fino a vedere il \<font color="#2166ae">log di sistema del server\</font> lì dovresti trovare informazioni sul cron job che è in esecuzione, come mostrato di seguito è fatto! a questo punto, puoi pianificare cron job nella tua applicazione utilizzando le funzionalità di base di parse server tramite back4app!