크론잡
13 분
파스 크론 작업 생성 방법 소개 이 섹션에서는 back4app을 사용하여 크론 작업을 예약하는 방법을 설명합니다 이 튜토리얼에서는 예제로, 가입한 후 이메일을 확인하지 않은 사용자를 제거하는 크론 작업을 구축할 것입니다 \<font color="#2166ae">파스 대시보드\</font> 언제든지 이 튜토리얼을 위해 구축된 전체 프로젝트에 접근할 수 있습니다 unhandled content type github 저장소 https //github com/back4app/android background jobs 전제 조건 이 튜토리얼을 완료하려면 다음이 필요합니다 back4app에서 생성된 앱 참고 새 parse 앱 튜토리얼 https //www back4app com/docs/get started/new parse app 을 따라 back4app에서 parse 앱을 만드는 방법을 배우세요 클라우드 코드에 대한 지식 참고 안드로이드용 클라우드 코드 튜토리얼 https //www back4app com/docs/android/parse cloud code 또는 ios용 클라우드 코드 튜토리얼 https //www back4app com/docs 을 참조하여 더 많은 정보를 얻으세요 안드로이드 4 0 (아이스크림 샌드위치) 이상에서 실행되는 장치 (또는 가상 장치 https //developer android com/studio/run/managing avds?hl=pt br ) 1 크론 작업 코드 생성 크론 작업 코드를 넣을 \<font color="#2166ae"> js\</font> 파일을 만듭니다 이 예제에서는 \<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> 내용을 세 분으로 설정하여 크론 작업이 작동하는지 테스트한 후, 실제로 원하는 시간의 양으로 \<font color="#2166ae">intervaloftime\</font> 을 변경하는 것이 좋습니다 javascript 파일에 대한 변경 사항은 back4app cloud code 블록에 파일을 다시 업로드해야만 애플리케이션에서 계산됩니다 이를 위해 원하지 않는 \<font color="#2166ae"> js\</font> 파일을 삭제하고 \<font color="#2166ae">intervaloftime\</font> 내용이 올바른 \<font color="#2166ae">intervaloftime\</font> 내용으로 파일을 업로드하기 위해 2단계를 따르세요 2 크론 작업을 cloud code에 업로드하기 cloud code를 시작하는 방법에 대해 더 알고 싶다면 android용 cloud code 튜토리얼 https //www back4app com/docs/android/parse cloud code 또는 ios용 cloud code 튜토리얼 https //www back4app com/docs 을 참조하세요 앱으로 가세요 back4app https //www back4app com/ 웹사이트에서 \<font color="#2166ae">대시보드\</font> 를 클릭하세요 \<font color="#2166ae">클라우드 코드\</font> 를 찾아서 \<font color="#2166ae">기능 및 웹 호스팅\</font> 을 클릭하세요 이렇게 보입니다 3\ 새 파일을 업로드하거나 생성하세요 (현재 \<font color="#2166ae">main js\</font> 파일을 브라우저에서 직접 편집할 수도 있습니다) 그런 다음, \<font color="#2166ae">배포\</font> 를 클릭하세요 여기와 같이 3 back4app에서 크론 작업 예약하기 앱에 가서 back4app 웹사이트 https //www back4app com/ 를 클릭합니다 “백그라운드 작업” 블록을 찾아 \<font color="#2166ae">설정\</font> 을 클릭합니다 “백그라운드 작업” 블록은 다음과 같습니다 3\ 백그라운드 작업 페이지가 나타나고 두 가지 옵션이 표시됩니다 작업 브라우저 또는 작업 예약 아래와 같이 작업 예약을 클릭합니다 원하는 경우 \<font color="#2166ae">편집\</font> , \<font color="#2166ae">지금 실행\</font> , 또는 \<font color="#2166ae">삭제\</font> 기존의 크론 작업을 수정하려면 \<font color="#2166ae">작업 브라우저\</font> 버튼을 클릭하세요 4\ 작업 예약 페이지가 나타나고, 작업의 \<font color="#2166ae">설명\</font> 필드를 작업의 설명으로 채워야 하며, 또한 \<font color="#2166ae">클라우드 작업\</font> 필드는 javascript 코드의 첫 번째 줄에 설정한 크론 작업의 이름으로 채워야 합니다 이 예제에서 생성된 크론 작업의 이름은 \<font color="#2166ae">removeinvalidlogin\</font> 입니다 5\ 크론 작업의 시작 시간, 반복 여부 및 빈도를 설정할 수 있습니다 이러한 옵션을 선호하는 대로 채운 후 \<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> 의 경우, 결과는 다음과 같습니다 크론 작업이 작동하는지 확인하려면 back4app 로그에 접근할 수 있습니다 그렇게 하려면 다음 단계를 따르세요 back4app 웹사이트 https //www back4app com/ 로 가서 \<font color="#2166ae">서버 설정\</font> 을 클릭하세요 “로그” 블록을 찾아서 \<font color="#2166ae">설정\</font> 을 클릭하세요 “로그” 블록은 다음과 같이 생겼습니다 3 페이지를 스크롤하여 \<font color="#2166ae">서버 시스템 로그\</font> 를 찾으세요 거기에서 실행 중인 크론 작업에 대한 정보를 찾아야 합니다 완료되었습니다! 이 단계에서 back4app을 통해 parse server core 기능을 사용하여 애플리케이션에서 크론 작업을 예약할 수 있습니다!