Platform
Tarefa Cron
13 min
como criar seu cron job no parse introdução esta seção explica como você pode agendar um cron job usando os recursos principais do parse server através do back4app para este tutorial, como exemplo, você irá construir um cron job que remove usuários do seu painel do parse painel do parse que não verificaram seus e mails algum tempo após terem se cadastrado a qualquer momento, você pode acessar o projeto completo construído para este tutorial em nosso repositório do github pré requisitos para completar este tutorial, você precisa um aplicativo criado no back4app nota siga o tutorial de novo aplicativo parse para aprender como criar um aplicativo parse no back4app conhecimento sobre cloud code nota siga o tutorial de cloud code para android ou o tutorial de cloud code para ios para mais informações um dispositivo (ou dispositivo virtual ) rodando android 4 0 (ice cream sandwich) ou mais recente 1 crie seu código de cron job crie um js js arquivo para colocar seu código de cron job neste exemplo, um main js main js arquivo é criado em um cloud code cloud code diretório defina uma função de job usando parse cloud job parse cloud job neste exemplo, o seguinte código verifica cada usuário em seu parse dashboard parse dashboard , então consulta aqueles que ainda têm seu e mail não verificado após algum tempo e os destrói 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 }); é necessário usar a chave mestra nesta operação você pode modificar o intervaloftime intervaloftime conteúdo com a quantidade de tempo que você acha que um usuário não verificado ainda pode ter sua conta ativa sem verificá la apenas não se esqueça de que para testar seu aplicativo, pequenos intervalos de tempo são melhores portanto, é sugerido que você defina o intervaloftime intervaloftime conteúdo para três minutos para testar se o cron job está funcionando e depois altere o código javascript com a quantidade de tempo que você realmente deseja que o intervaloftime intervaloftime seja não se esqueça de que as alterações no arquivo javascript só são computadas em seu aplicativo se você enviar o arquivo novamente no bloco de código em nuvem do back4app para fazer isso, exclua o js js arquivo com o intervaloftime intervaloftime indesejado e siga o passo 2 para enviar o arquivo com o correto intervaloftime intervaloftime conteúdo 2 enviar cron job para o código em nuvem para saber mais sobre como começar com o código em nuvem, veja tutorial de código em nuvem para android ou tutorial de código em nuvem para ios vá para o seu aplicativo no back4app e clique em painel painel encontre o cloud code cloud code e clique em funções e hospedagem web funções e hospedagem web ele se parece com isso 3\ faça upload ou crie um novo arquivo (você também pode editar o arquivo main js main js diretamente no navegador) em seguida, clique em implantar implantar como mostrado aqui 3 agendar tarefa cron no back4app vá para seu aplicativo no site do back4app e clique em configurações do servidor configurações do servidor encontre o bloco “tarefas em segundo plano” e clique em configurações configurações o bloco “tarefas em segundo plano” se parece com isso 3\ uma página de tarefas em segundo plano aparecerá e duas opções serão exibidas navegar por uma tarefa ou agendar uma tarefa clique em agendar uma tarefa, como mostrado abaixo se você quiser editar editar , executar agora executar agora , ou excluir excluir um cron job existente, clique no botão navegar um job navegar um job 4\ uma página de agendar um job aparecerá e você deve preencher o campo descrição descrição do seu job com sua descrição e também o campo job na nuvem job na nuvem com o nome que você definiu para seu cron job na primeira linha de seu código javascript neste exemplo, o nome do cron job criado é removeinvalidlogin removeinvalidlogin 5\ você também pode definir outras opções para seu cron job, como a que hora ele deve começar a ser executado, se deve se repetir e com que frequência após preencher essas opções com suas preferências, clique no botão salvar salvar 4 teste seu aplicativo crie alguns usuários com emailverified emailverified coluna definida como falso falso no seu parse dashboard parse dashboard , conforme mostrado abaixo 2\ execute seu aplicativo e atualize seu parse dashboard parse dashboard ele deve ter destruído os usuários não verificados para o parse dashboard parse dashboard mostrado acima, este é o resultado você também pode ver se o cron job está funcionando acessando os logs do back4app para fazer isso, siga estas etapas vá para seu aplicativo no site do back4app e clique em configurações do servidor configurações do servidor encontre o bloco “logs” e clique em configurações configurações o bloco “logs” se parece com isso 3 role a página até ver o log do sistema do servidor log do sistema do servidor lá você deve encontrar informações sobre o cron job que está em execução, como mostrado abaixo está feito! neste estágio, você pode agendar cron jobs em seu aplicativo usando os recursos do parse server core através do back4app!