У меня есть некоторые данные на parse.com, которые необходимо обновить фоновой работой. Есть около 100 сотен рядов. Обновление каждой строки использует 3 запроса parse api. Мне разрешено 30 запросов в секунду, поэтому только первые 9 строк обновляются каждый раз, когда я запускаю задание, и все пользователи, которые попадают в систему в течение этой секунды, получат ошибки.Ограничение скорости parse.com фоновые задания
Есть ли простой способ помещать паузы в задание, чтобы он обновлял строку только после 200 мс или около того, и тогда задание использует только половину доступных запросов? Это означает, что задание займет около 20 секунд, а не одну секунду, но это вполне приемлемый компромисс.
Код структурирован примерно так:
Parse.Cloud.job("UpdateData", function (request, status) {
Parse.Cloud.useMasterKey();
(new Parse.Query("Table"))
.find()
.then(function (rows) {
rows.forEach(function (row) {
// Some queries happen here
...
row
.set(...)
.save();
});
status.success();
}, function (error) {
status.error();
});
});
Я не думаю, что я могу использовать setTimeout
или setInterval
легко этот код (я даже не уверен, если они разрешены на parse.com облака коды). JS не поддерживает ничего подобного sleep()
или wait()
.
Вы уверены, что фоновые задания работают, как это? Я думал, что у вас есть одна работа за 20 рек/сек с другими ограничениями на работу, но не с ограничениями в соответствии с требованиями. В противном случае вышеупомянутый сценарий был бы невероятно распространен. – mbm29414
Я не уверен, если это так, но моя работа заключается в поиске 168 строк, а затем только обновление первого. – rjmunro