在我删除我的用户之前,我想删除另一个类中的一些对象。这在Swift中运行良好。
Parse.Cloud.beforeDelete(Parse.User, function(request, response) {
var query = new Parse.Query('ListSettings');
query.find({
success: function(results) {
for (var i = 0; i < results.length; i+=1) {
results[i].destroy();
}
response.success(results);
},
error: function() {results
response.error("error");
}
});
});
现在我想将此转移到cloudCode。它的工作量大约是十分之一,但我不知道为什么或什么时候有效,有时候不知道。
from Queue import Queue
from threading import Thread
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
def do_work(url):
print "Processing URL:" + url
q = Queue()
for i in range(5):
t = Thread(target=worker)
t.daemon = True
t.start()
for item in ['url_' + str(i) for i in range(2000)]:
q.put(item)
q.join() # block until all tasks are done
请帮助。
答案 0 :(得分:0)
您可以一次删除所有对象,如果成功则返回成功,而不是逐个删除。您可以通过以下代码块执行此操作;
query.find().then(function (results)
{
Parse.Object.destroyAll(results);
response.success("Success");
},
function (error)
{
response.success("Error");
})
希望这有帮助。解答。
答案 1 :(得分:0)
我们走了,这对我有用。
Parse.Cloud.beforeDelete(Parse.User, function(request, response) {
var query = new Parse.Query('ListSettings');
query.find().then(function(results) {
return Parse.Object.destroyAll(results);
}).then(function() {
response.success();
}, function(error) {
response.error("Error removing ListSettings.");
});
});