Parse platform Parse.com:多个计划作业

Parse platform Parse.com:多个计划作业,parse-platform,task,Parse Platform,Task,在我的应用程序中,我希望有多个后台工作。在免费计划中,我得到了一份并发的后台工作。如果工作时间发生冲突,会发生什么?作业将被排队还是丢弃?作业将被丢弃。此解析应用程序被允许执行两个计划作业,这就是计划在同一分钟内运行四个作业时发生的情况: 您可以编写一个队列,下面是一个示例: 任务是一个对象,其中包含队列能够运行的函数 然后在表中创建具有两个属性的作业,方法:String params:Object e、 方法:'FetchVince':参数:{'id':'1234'} 然后将parse设置为每

在我的应用程序中,我希望有多个后台工作。在免费计划中,我得到了一份并发的后台工作。如果工作时间发生冲突,会发生什么?作业将被排队还是丢弃?

作业将被丢弃。此解析应用程序被允许执行两个计划作业,这就是计划在同一分钟内运行四个作业时发生的情况:


您可以编写一个队列,下面是一个示例:

任务是一个对象,其中包含队列能够运行的函数

然后在表中创建具有两个属性的作业,方法:String params:Object

e、 方法:'FetchVince':参数:{'id':'1234'}

然后将parse设置为每分钟运行一次队列函数

tasks = {}
tasks.fetchVenue = function(params) {
    var promise = new Parse.Promise();
    //some async tasks
    promise.resolve("fetchVenue called with params:"+params);   
    return promise

}

tasks.fetchUser = function(params) {
    var promise = new Parse.Promise();
    //some async tasks  
    promise.resolve("fetchUser called with params:"+params);    
    return promise
}

Parse.Cloud.job("queue", function(request, status) {

    var jobCount = 0
    var query = new Parse.Query('Job');
    query.notEqualTo("complete", true);
    query.each(function(job) {  

        if (tasks.hasOwnProperty(job.get('method'))) {      

            tasks[job.get('method')]().then(function(completion){
                jobComplete(job)
                jobCount++ 
                status.message(completion);
            })  

        } else {
            status.message("job not found "+job.get('method'));
        }
    }).then(function(){
        status.success(jobCount+" jobs processed");
    }, function(error) {    
        status.error("Uh oh, something went wrong.");
    })

});

var jobComplete = function(job){
    job.set('complete',true)
    job.save()
}