Platform
Cron Job
13 นาที
วิธีสร้าง cron job ของคุณใน parse บทนำ ส่วนนี้อธิบายวิธีที่คุณสามารถกำหนดเวลา cron job โดยใช้ ฟีเจอร์หลักของ parse server ผ่าน back4app สำหรับบทเรียนนี้ ในฐานะตัวอย่าง คุณจะสร้าง cron job ที่ลบผู้ใช้ของคุณใน parse dashboard parse dashboard ที่ยังไม่ได้ยืนยันอีเมลหลังจากที่พวกเขาลงทะเบียนไปแล้วสักระยะหนึ่ง ในทุกเวลา คุณสามารถเข้าถึงโปรเจกต์ที่สร้างขึ้นสำหรับบทเรียนนี้ได้ที่ ที่เก็บ github ข้อกำหนดเบื้องต้น ในการทำตามบทเรียนนี้ คุณต้องมี แอปที่สร้างขึ้นบน back4app หมายเหตุ โปรดติดตาม บทเรียนการสร้าง parse app ใหม่ เพื่อเรียนรู้วิธีการสร้าง parse app บน back4app ความรู้เกี่ยวกับ cloud code หมายเหตุ โปรดติดตาม บทเรียน cloud code สำหรับ android หรือ บทเรียน cloud code สำหรับ ios เพื่อข้อมูลเพิ่มเติม อุปกรณ์ (หรือ อุปกรณ์เสมือน ) ที่รัน android 4 0 (ice cream sandwich) หรือใหม่กว่า 1 สร้างโค้ด cron job ของคุณ สร้างไฟล์ js js เพื่อใส่โค้ด cron job ของคุณ ในตัวอย่างนี้ จะมีการสร้างไฟล์ 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 เนื้อหาเป็นสามนาทีเพื่อตรวจสอบว่าครอนจ็อบทำงานหรือไม่ และจากนั้นเปลี่ยนโค้ด javascript ด้วยจำนวนเวลาที่คุณต้องการจริงๆ intervaloftime intervaloftime ที่จะเป็น อย่าลืมว่าการเปลี่ยนแปลงในไฟล์ javascript จะถูกคำนวณในแอปพลิเคชันของคุณก็ต่อเมื่อคุณอัปโหลดไฟล์อีกครั้งใน back4app cloud code block เพื่อทำเช่นนี้ ให้ลบ js js ไฟล์ที่มี intervaloftime intervaloftime เนื้อหาที่ไม่ต้องการและทำตามขั้นตอนที่ 2 เพื่ออัปโหลดไฟล์ที่มี intervaloftime intervaloftime เนื้อหาที่ถูกต้อง 2 อัปโหลดครอนจ็อบไปยัง cloud code หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับวิธีเริ่มต้นใช้งาน cloud code ดูที่ คู่มือ cloud code สำหรับ android หรือ คู่มือ cloud code สำหรับ ios ไปที่แอปของคุณที่ back4app เว็บไซต์และคลิกที่ แดชบอร์ด แดชบอร์ด ค้นหา cloud code cloud code และคลิกที่ ฟังก์ชัน & โฮสติ้งเว็บ ฟังก์ชัน & โฮสติ้งเว็บ มันดูเหมือนแบบนี้ 3\ อัปโหลดหรือสร้างไฟล์ใหม่ (คุณยังสามารถแก้ไข main js main js ไฟล์ปัจจุบันโดยตรงในเบราว์เซอร์) จากนั้น คลิกที่ deploy deploy ตามที่แสดงที่นี่ 3 ตั้งเวลา cron job บน back4app ไปที่แอปของคุณที่ เว็บไซต์ back4app และคลิกที่ การตั้งค่าเซิร์ฟเวอร์ การตั้งค่าเซิร์ฟเวอร์ ค้นหาบล็อก “งานเบื้องหลัง” และคลิกที่ การตั้งค่า การตั้งค่า บล็อก “งานเบื้องหลัง” จะมีลักษณะดังนี้ 3\ หน้าจ้างงานเบื้องหลังจะปรากฏขึ้นและจะแสดงตัวเลือกสองตัว เบราว์เซอร์งานหรือกำหนดเวลางาน คลิกที่กำหนดเวลางาน ตามที่แสดงด้านล่าง หากคุณต้องการ แก้ไข แก้ไข , เรียกใช้ตอนนี้ เรียกใช้ตอนนี้ , หรือ ลบ ลบ งาน cron ที่มีอยู่ คลิกที่ เรียกดูงาน เรียกดูงาน ปุ่ม 4\ หน้ากำหนดการงานจะปรากฏขึ้นและคุณต้องกรอกใน คำอธิบาย คำอธิบาย ของงานของคุณด้วยคำอธิบายและยังกรอกใน cloud job cloud job ด้วยชื่อที่คุณตั้งให้กับงาน 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 ที่แสดงข้างต้น นี่คือผลลัพธ์ คุณยังสามารถดูได้ว่าครอนจ็อบทำงานอยู่หรือไม่โดยการเข้าถึง back4app logs เพื่อทำเช่นนั้นให้ทำตามขั้นตอนเหล่านี้ ไปที่แอปของคุณที่ เว็บไซต์ back4app และคลิกที่ การตั้งค่าเซิร์ฟเวอร์ การตั้งค่าเซิร์ฟเวอร์ ค้นหาบล็อก “logs” และคลิกที่ การตั้งค่า การตั้งค่า บล็อก “logs” จะมีลักษณะดังนี้ 3 เลื่อนหน้าจอจนกว่าคุณจะเห็น บันทึกระบบเซิร์ฟเวอร์ บันทึกระบบเซิร์ฟเวอร์ ที่นั่นคุณควรพบข้อมูลเกี่ยวกับครอนจ็อบที่กำลังทำงานอยู่ตามที่แสดงด้านล่าง เสร็จเรียบร้อย! ในขั้นตอนนี้คุณสามารถกำหนดเวลาครอนจ็อบในแอปพลิเคชันของคุณโดยใช้ฟีเจอร์ของ parse server core ผ่าน back4app!