如何在批量用户中运行解析云作业以避免时间限制
How to run a Parse cloud job in batches of users to avoid time limit?
我目前正在运行以下Parse云代码作业,该作业会遍历数据库中的每个用户,并且我开始达到15分钟的时间限制。如何将其设置为一次500个用户的批量运行,而不是一次所有用户?我需要它按顺序运行用户,所以第一批用户为1-500,第二批用户为500-1000,以此类推,这样就不会重复任何人。
Parse.Cloud.job("MCBackground", function(request, status) {
// ... other code to setup usersQuery ...
Parse.Cloud.useMasterKey();
var usersQuery = new Parse.Query(Parse.User);
return usersQuery.each(function(user) {
return processUser(user)
.then(function(eBayResults) {
return mcComparison(user, eBayResults);
});
})
.then(function() {
// Set the job's success status
status.success("MCBackground completed successfully.");
}, function(error) {
// Set the job's error status
status.error("Got an error " + JSON.stringify(error));
});
});
首先,从您的评论中,我看到您有一个可以添加的约束:仅查询具有matchCenterItem:的用户对象
query.exist("matchCenterItem");
我不知道有多少百分比的用户会没有这个字段,但也许你现在已经减少了要获取的用户数量。
我不知道这个作业多久运行一次,也不知道你在比较什么,但这个数据发生变化的可能性有多大?你总是需要在所有用户上运行它吗?或者你可以设置一个标志,这样你就不会再在同一个用户上运行了吗?或者直到一段时间过去?
相关文章:
- Java脚本时间添加
- Json数据包含日期和时间格式
- cron作业与Javascript计时事件
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 高库存时期时间与时区不匹配
- Jquery如何检查今天的时间大于使用给定时间
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- Javascript模拟最短的作业 首先,将时间映射到到达时间
- 如何在批量用户中运行解析云作业以避免时间限制