Platform
定时任务
13 分
如何创建您的 parse cron 作业 介绍 本节解释了如何通过 back4app 使用 parse server 核心功能 来调度 cron 作业。 在本教程中,作为示例,您将构建一个 cron 作业,该作业会删除您的 parse dashboard parse dashboard 中尚未验证其电子邮件的用户,时间是在他们注册后的一段时间。 您可以随时访问为本教程构建的完整项目,网址为我们的 github 仓库 前提条件 要完成本教程,您需要: 在 back4app 上创建的应用程序。 注意:请遵循 新 parse 应用程序教程 以了解如何在 back4app 上创建 parse 应用程序 关于云代码的知识。 注意:请遵循 android 云代码教程 或 ios 云代码教程 获取更多信息。 一台运行 android 4 0(冰淇淋三明治)或更高版本的设备(或 虚拟设备 )。 1 创建您的定时任务代码 创建一个 js js 文件来放置你的定时任务代码。在这个例子中,创建了一个 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 作业是否正常工作,然后根据您实际想要的时间更改 javascript 代码中的 intervaloftime intervaloftime 。 请不要忘记,只有在您再次上传文件到 back4app cloud code 块时,javascript 文件的更改才会在您的应用程序中生效。为此,请删除包含不需要的 js js 文件和不需要的 intervaloftime intervaloftime 内容,并按照步骤 2 上传包含正确 intervaloftime intervaloftime 内容的文件。 2 上传 cron 作业到 cloud code 要了解有关如何开始使用 cloud code 的更多信息,请查看 android 的 cloud code 教程 或 ios 的 cloud code 教程 。 前往您的应用程序,访问 back4app 网站并点击 仪表板 仪表板 找到 云代码 云代码 并点击 函数与网络托管 函数与网络托管 。它看起来像这样 3\ 上传或创建一个新文件(您也可以直接在浏览器中编辑当前的 main js main js 文件)。然后,点击 部署 部署 ,如图所示 3 在 back4app 上安排 cron 作业 前往您的应用程序,点击 back4app 网站 ,然后点击 服务器设置 服务器设置 找到“后台作业”块并点击 设置 设置 。 “后台作业”块看起来是这样的 3\ 将出现一个后台作业页面,并显示两个选项:浏览作业或安排作业。点击安排作业,如下所示 如果您想要 编辑 编辑 , 立即运行 立即运行 , 或 删除 删除 一个现有的 cron 作业,请点击 浏览作业 浏览作业 按钮。 4\ 将出现一个调度作业页面,您需要在作业的 描述 描述 字段中填写其描述,并在 云作业 云作业 字段中填写您在其 javascript 代码第一行中设置的 cron 作业名称。在这个例子中,创建的 cron 作业名称是 removeinvalidlogin removeinvalidlogin 。 5\ 您还可以为您的 cron 作业设置其他选项,例如它应该何时开始运行,是否应该重复,以及重复的频率。在填写完这些选项后,请点击 保存 保存 按钮。 4 测试你的应用 创建一些用户, emailverified emailverified 列设置为 false false 在你的 parse dashboard parse dashboard , 如下所示 2\ 运行你的应用程序并刷新你的 parse dashboard parse dashboard 。它应该已经删除了未验证的用户。对于上面显示的 parse dashboard parse dashboard ,这是结果 您还可以通过访问 back4app 日志来查看 cron 作业是否正常工作。要做到这一点,请按照以下步骤操作: 访问您的应用程序,点击 back4app 网站 ,然后点击 服务器设置 服务器设置 找到“日志”块并点击 设置 设置 。 “日志”块看起来像这样 3 向下滚动页面,直到您看到 服务器系统日志 服务器系统日志 。在那里,您应该找到有关正在运行的 cron 作业的信息,如下所示 完成! 在此阶段,您可以通过 back4app 使用 parse server core 功能在您的应用程序中调度 cron 作业!