Крон-задание
13 мин
как создать вашу задачу cron в parse введение в этом разделе объясняется, как вы можете запланировать задачу cron с помощью основных функций parse server https //www back4app com/product/parse server через back4app для этого учебника, в качестве примера, вы создадите задачу cron, которая удаляет пользователей вашего \<font color="#2166ae">панели управления parse\</font> , которые не подтвердили свои электронные адреса через некоторое время после регистрации в любое время вы можете получить доступ к полному проекту, созданному для этого учебника, на нашем репозитории github https //github com/back4app/android background jobs предварительные требования чтобы завершить этот учебник, вам нужно приложение, созданное на back4app примечание следуйте учебнику по созданию нового parse app https //www back4app com/docs/get started/new parse app чтобы узнать, как создать parse app на back4app знания о cloud code примечание следуйте учебнику по cloud code для android https //www back4app com/docs/android/parse cloud code или учебнику по cloud code для ios https //www back4app com/docs для получения дополнительной информации устройство (или виртуальное устройство https //developer android com/studio/run/managing avds?hl=pt br ) с android 4 0 (ice cream sandwich) или новее 1 создайте код вашего cron job создайте \<font color="#2166ae"> js\</font> файл, чтобы поместить в него код вашей cron задачи в этом примере создается \<font color="#2166ae">main js\</font> файл в директории \<font color="#2166ae">cloud code\</font> определите функцию задачи, используя \<font color="#2166ae">parse cloud job\</font> в этом примере следующий код проверяет каждого пользователя в вашем \<font color="#2166ae">parse dashboard\</font> , затем запрашивает тех, у кого еще не подтвержден адрес электронной почты после некоторого времени, и удаляет их 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 }); необходимо использовать главный ключ в этой операции вы можете изменить \<font color="#2166ae"> intervaloftime\</font> содержимое с учетом времени, в течение которого неподтвержденный пользователь может продолжать использовать свою учетную запись без подтверждения просто не забудьте, что для тестирования вашего приложения лучше использовать короткие временные интервалы поэтому рекомендуется установить \<font color="#2166ae"> intervaloftime\</font> содержимое на три минуты, чтобы проверить, работает ли cron job, а затем изменить код javascript на то количество времени, которое вы действительно хотите \<font color="#2166ae">intervaloftime\</font> не забудьте, что изменения в файле javascript учитываются в вашем приложении только в том случае, если вы снова загружаете файл в блоке cloud code back4app для этого удалите \<font color="#2166ae"> js\</font> файл с нежелательным \<font color="#2166ae">intervaloftime\</font> содержимым и следуйте шагу 2, чтобы загрузить файл с правильным \<font color="#2166ae">intervaloftime\</font> содержимым 2 загрузите cron job в cloud code чтобы узнать больше о том, как начать работу с cloud code, посмотрите учебник по cloud code для android https //www back4app com/docs/android/parse cloud code или учебник по cloud code для ios https //www back4app com/docs перейдите в ваше приложение на сайте back4app https //www back4app com/ и нажмите на \<font color="#2166ae">панель управления\</font> найдите \<font color="#2166ae">cloud code\</font> и нажмите на \<font color="#2166ae">функции и веб хостинг\</font> это выглядит так 3\ загрузите или создайте новый файл (вы также можете редактировать текущий \<font color="#2166ae">main js\</font> файл прямо в браузере) затем нажмите на \<font color="#2166ae">развернуть\</font> как показано здесь 3 запланируйте cron задачу на back4app перейдите в ваше приложение на сайте back4app https //www back4app com/ и нажмите на \<font color="#2166ae">настройки сервера\</font> найдите блок “фоновые задачи” и нажмите на \<font color="#2166ae">настройки\</font> блок “фоновые задачи” выглядит так 3\ появится страница фоновых задач, и будут отображены два варианта просмотреть задачу или запланировать задачу нажмите на запланировать задачу, как показано ниже если вы хотите \<font color="#2166ae">редактировать\</font> , \<font color="#2166ae">запустить сейчас\</font> , или \<font color="#2166ae">удалить\</font> существующую задачу cron, нажмите на кнопку \<font color="#2166ae">обзор задачи\</font> 4\ появится страница "запланировать задачу", и вам нужно заполнить поле \<font color="#2166ae">описание\</font> вашей задачи с её описанием, а также поле \<font color="#2166ae">облачная задача\</font> с именем, которое вы задали для вашей задачи cron в первой строке её кода javascript в этом примере имя созданной задачи cron — \<font color="#2166ae">removeinvalidlogin\</font> 5\ вы также можете установить другие параметры для вашей задачи cron, такие как время её начала, должна ли она повторяться и как часто после заполнения этих параметров в соответствии с вашими предпочтениями нажмите на кнопку \<font color="#2166ae">сохранить\</font> 4 протестируйте ваше приложение создайте несколько пользователей с \<font color="#2166ae">emailverified\</font> столбцом, установленным как \<font color="#2166ae">false\</font> в вашем \<font color="#2166ae">parse dashboard\</font> , как показано ниже 2\ запустите ваше приложение и обновите ваш \<font color="#2166ae">parse dashboard\</font> он должен был удалить неподтвержденных пользователей для \<font color="#2166ae">parse dashboard\</font> показанного выше, это результат вы также можете проверить, работает ли cron задача, получив доступ к журналам back4app для этого выполните следующие шаги перейдите в ваше приложение на сайте back4app https //www back4app com/ и нажмите на \<font color="#2166ae">настройки сервера\</font> найдите блок “журналы” и нажмите на \<font color="#2166ae">настройки\</font> блок “журналы” выглядит так 3 прокрутите страницу, пока не увидите \<font color="#2166ae">журнал системного сервера\</font> там вы должны найти информацию о запущенной cron задаче, как показано ниже готово! на этом этапе вы можете планировать cron задачи в вашем приложении, используя функции parse server core через back4app!