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