Tarea programada
13 min
cómo crear tu trabajo cron de parse introducción esta sección explica cómo puedes programar un trabajo cron usando las características principales de parse server https //www back4app com/product/parse server a través de back4app para este tutorial, como ejemplo, construirás un trabajo cron que elimina a los usuarios de tu \<font color="#2166ae">tablero de parse\</font> que no han verificado sus correos electrónicos algún tiempo después de haberse registrado en cualquier momento, puedes acceder al proyecto completo construido para este tutorial en nuestro repositorio de github https //github com/back4app/android background jobs requisitos previos para completar este tutorial, necesitas una aplicación creada en back4app nota sigue el tutorial de nueva aplicación parse https //www back4app com/docs/get started/new parse app para aprender cómo crear una aplicación parse en back4app conocimiento sobre cloud code nota sigue el tutorial de cloud code para android https //www back4app com/docs/android/parse cloud code o el tutorial de cloud code para ios https //www back4app com/docs para más información un dispositivo (o dispositivo virtual https //developer android com/studio/run/managing avds?hl=pt br ) que ejecute android 4 0 (ice cream sandwich) o más reciente 1 crea tu código de trabajo cron crea un \<font color="#2166ae"> js\</font> archivo para poner tu código de trabajo cron en este ejemplo, se crea un \<font color="#2166ae">main js\</font> archivo en un \<font color="#2166ae">cloud code\</font> directorio define una función de trabajo usando \<font color="#2166ae">parse cloud job\</font> en este ejemplo, el siguiente código verifica a cada usuario en tu \<font color="#2166ae">parse dashboard\</font> , luego consulta a aquellos que aún tienen su correo electrónico no verificado después de un tiempo y los destruye 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 }); se requiere usar la clave maestra en esta operación puedes modificar el \<font color="#2166ae"> intervaloftime\</font> contenido con la cantidad de tiempo que crees que un usuario no verificado puede tener su cuenta activa sin verificarla solo no olvides que para probar tu aplicación, pequeños intervalos de tiempo son mejores así que, se sugiere que configures el \<font color="#2166ae"> intervaloftime\</font> contenido a tres minutos para probar si el trabajo cron está funcionando y luego cambia el código javascript con la cantidad de tiempo que realmente deseas que \<font color="#2166ae">intervaloftime\</font> sea no olvides que los cambios en el archivo javascript solo se computan en tu aplicación si vuelves a subir el archivo en el bloque de código en la nube de back4app para hacer esto, elimina el \<font color="#2166ae"> js\</font> archivo con el \<font color="#2166ae">intervaloftime\</font> no deseado y sigue el paso 2 para subir el archivo con el correcto \<font color="#2166ae">intervaloftime\</font> contenido 2 subir trabajo cron a cloud code para saber más sobre cómo comenzar con cloud code, mira tutorial de cloud code para android https //www back4app com/docs/android/parse cloud code o tutorial de cloud code para ios https //www back4app com/docs ve a tu aplicación en el back4app https //www back4app com/ sitio web y haz clic en \<font color="#2166ae">tablero\</font> encuentra el \<font color="#2166ae">código en la nube\</font> y haz clic en \<font color="#2166ae">funciones y alojamiento web\</font> se ve así 3\ sube o crea un nuevo archivo (también puedes editar el \<font color="#2166ae">main js\</font> archivo directamente en el navegador) luego, haz clic en \<font color="#2166ae">desplegar\</font> como se muestra aquí 3 programar trabajo cron en back4app ve a tu aplicación en el sitio web de back4app https //www back4app com/ y haz clic en \<font color="#2166ae">configuración del servidor\</font> encuentra el bloque “trabajos en segundo plano” y haz clic en \<font color="#2166ae">configuraciones\</font> el bloque “trabajos en segundo plano” se ve así 3\ aparecerá una página de trabajos en segundo plano y se mostrarán dos opciones navegar un trabajo o programar un trabajo haz clic en programar un trabajo, como se muestra a continuación si quieres \<font color="#2166ae">editar\</font> , \<font color="#2166ae">ejecutar ahora\</font> , o \<font color="#2166ae">eliminar\</font> un trabajo cron existente, haz clic en el botón \<font color="#2166ae">navegar un trabajo\</font> 4\ aparecerá una página para programar un trabajo y debes completar el campo de \<font color="#2166ae">descripción\</font> de tu trabajo con su descripción y también el campo \<font color="#2166ae">trabajo en la nube\</font> con el nombre que le diste a tu trabajo cron en la primera línea de su código javascript en este ejemplo, el nombre del trabajo cron creado es \<font color="#2166ae">removeinvalidlogin\</font> 5\ también puedes establecer otras opciones para tu trabajo cron, como a qué hora debe comenzar a ejecutarse, si debe repetirse y con qué frecuencia después de completar estas opciones con tus preferencias, haz clic en el botón \<font color="#2166ae">guardar\</font> 4 prueba tu aplicación crea algunos usuarios con \<font color="#2166ae">emailverified\</font> columna establecida como \<font color="#2166ae">false\</font> en tu \<font color="#2166ae">parse dashboard\</font> , como se muestra a continuación 2\ ejecuta tu aplicación y actualiza tu \<font color="#2166ae">parse dashboard\</font> debería haber destruido los usuarios no verificados para el \<font color="#2166ae">parse dashboard\</font> mostrado arriba, este es el resultado también puedes ver si el trabajo cron está funcionando accediendo a los registros de back4app para hacer eso, sigue estos pasos ve a tu aplicación en el sitio web de back4app https //www back4app com/ y haz clic en \<font color="#2166ae">configuración del servidor\</font> encuentra el bloque “registros” y haz clic en \<font color="#2166ae">configuración\</font> el bloque “registros” se ve así 3 desplázate por la página hasta que veas el \<font color="#2166ae">registro del sistema del servidor\</font> allí deberías encontrar información sobre el trabajo cron que se está ejecutando, como se muestra a continuación ¡está hecho! ¡en esta etapa, puedes programar trabajos cron en tu aplicación utilizando las características del núcleo de parse server a través de back4app!