定时任务
如何创建您的 Parse Cron 作业
介绍
本节解释了如何通过 Back4App 使用 Parse Server 核心功能 来调度 cron 作业。
在本教程中,作为示例,您将构建一个 cron 作业,该作业会删除您的 Parse Dashboard 中尚未验证其电子邮件的用户,时间是在他们注册后的一段时间。
您可以随时访问为本教程构建的完整项目,网址为我们的 GitHub 仓库.
前提条件
要完成本教程,您需要:
- 在 Back4App 上创建的应用程序。
- 关于云代码的知识。
1 - 创建您的定时任务代码
- 创建一个 .js 文件来放置你的定时任务代码。在这个例子中,创建了一个 main.js 文件在一个 cloud_code 目录中。
- 使用 Parse.Cloud.job. 在这个例子中,以下代码验证你在 Parse Dashboard 中的每个用户,然后查询那些在一段时间后仍未验证其电子邮件的用户并将其删除:
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 内容设置为三分钟,以测试 cron 作业是否正常工作,然后根据您实际想要的时间更改 JavaScript 代码中的 intervalOfTime。
请不要忘记,只有在您再次上传文件到 Back4app Cloud Code 块时,JavaScript 文件的更改才会在您的应用程序中生效。为此,请删除包含不需要的 .js 文件和不需要的 intervalOfTime 内容,并按照步骤 2 上传包含正确 intervalOfTime 内容的文件。
2 - 上传 cron 作业到 Cloud Code
要了解有关如何开始使用 Cloud Code 的更多信息,请查看 Android 的 Cloud Code 教程 或 iOS 的 Cloud Code 教程。
- 找到 云代码 并点击 函数与网络托管。它看起来像这样:

3. 上传或创建一个新文件(您也可以直接在浏览器中编辑当前的 main.js 文件)。然后,点击 部署,如图所示:

3 - 在 Back4App 上安排 cron 作业
- 找到“后台作业”块并点击 设置。 “后台作业”块看起来是这样的:

3. 将出现一个后台作业页面,并显示两个选项:浏览作业或安排作业。点击安排作业,如下所示:

如果您想要 编辑, 立即运行, 或 删除 一个现有的 cron 作业,请点击 浏览作业 按钮。
4. 将出现一个调度作业页面,您需要在作业的 描述 字段中填写其描述,并在 云作业 字段中填写您在其 JavaScript 代码第一行中设置的 cron 作业名称。在这个例子中,创建的 cron 作业名称是 removeInvalidLogin。

5. 您还可以为您的 cron 作业设置其他选项,例如它应该何时开始运行,是否应该重复,以及重复的频率。在填写完这些选项后,请点击 保存 按钮。

4 - 测试你的应用
- 创建一些用户,emailVerified 列设置为False 在你的Parse Dashboard, 如下所示:

2. 运行你的应用程序并刷新你的Parse Dashboard。它应该已经删除了未验证的用户。对于上面显示的Parse Dashboard,这是结果:

您还可以通过访问 Back4App 日志来查看 cron 作业是否正常工作。要做到这一点,请按照以下步骤操作:
- 找到“日志”块并点击 设置。 “日志”块看起来像这样:

3. 向下滚动页面,直到您看到 服务器系统日志。在那里,您应该找到有关正在运行的 cron 作业的信息,如下所示:

完成!
在此阶段,您可以通过 Back4App 使用 Parse Server Core 功能在您的应用程序中调度 cron 作业!