2014-06-26 85 views
1

在我的應用程序中,我想要有多個後臺作業。在免費計劃中,我得到一份併發的後臺工作。如果工作時間碰撞會發生什麼?這些工作會排隊還是放棄?Parse.com:多個預定作業

回答

3

作業被丟棄。這解析應用程序允許2個預定作業,這是當四人被安排在同一分鐘運行發生了什麼:

Failing jobs "too many running"

0

你可以寫一個隊列,這裏有一個例子:

任務是具有隊列能夠運行的功能的對象。

然後,您在您的表創造就業機會有兩個屬性,方法:字符串PARAMS:對象

例如方法: 'fetchVenue':PARAMS:{ 'ID': '1234'}

您然後設置解析到每分鐘

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() 
} 
運行隊列功能