Skip to content

Commit

Permalink
task procressor updates from taskrabbit
Browse files Browse the repository at this point in the history
  • Loading branch information
evantahler committed Jun 21, 2012
1 parent f4e7cba commit a0ebbcc
Showing 1 changed file with 18 additions and 11 deletions.
29 changes: 18 additions & 11 deletions initializers/initTasks.js
Expand Up @@ -138,10 +138,12 @@ var initTasks = function(api, next)
}
api.redis.client.hset(api.tasks.redisProcessingQueue, parsedTask.taskName, JSON.stringify(data), function(){
next(parsedTask);
return
});
}else{
api.tasks.enqueue(api, parsedTask.taskName, parsedTask.runAtTime, parsedTask.params);
task = null;
api.tasks.enqueue(api, parsedTask.taskName, parsedTask.runAtTime, parsedTask.params, function(){
next(null);
});
}
}
if(task == null){
Expand All @@ -157,7 +159,7 @@ var initTasks = function(api, next)
});
}
}else{
next(null);

}
});
}
Expand All @@ -180,7 +182,6 @@ var initTasks = function(api, next)
}

api.tasks.run = function(api, taskName, params, next){
api.log("running task: "+taskName, "yellow");
api.tasks.tasks[taskName].run(api, params, function(resp){
if(typeof next == "function"){ next(true); }
})
Expand All @@ -189,25 +190,31 @@ var initTasks = function(api, next)
api.tasks.process = function(api){
clearTimeout(api.tasks.processTimer);
api.tasks.getNextTask(api, function(task){
api.log(JSON.stringify(task), "red")
if(task == null){
api.tasks.processTimer = setTimeout(api.tasks.process, api.tasks.cycleTimeMS, api);
}else{
api.tasks.run(api, task.taskName, task.params, function(run){
if(run){
//
api.log("ran task: "+task.taskName, "yellow");
}else{
api.log("task failed to run: "+JSON.stringify(task), "red")
}
if(api.redis.enable === true){
// remove the task from the processing queue
api.redis.client.hdel(api.tasks.redisProcessingQueue, task.taskName, function(){ });
api.redis.client.hdel(api.tasks.redisProcessingQueue, task.taskName, function(){
api.tasks.enqueuePeriodicTask(api, api.tasks.tasks[task.taskName], function(){
api.tasks.processTimer = setTimeout(api.tasks.process, api.tasks.cycleTimeMS, api);
});
});
}else{
api.tasks.enqueuePeriodicTask(api, api.tasks.tasks[task.taskName], function(){
api.tasks.processTimer = setTimeout(api.tasks.process, api.tasks.cycleTimeMS, api);
});
}
api.tasks.enqueuePeriodicTask(api, api.tasks.tasks[task.taskName], function(){
api.tasks.processTimer = setTimeout(api.tasks.process, api.tasks.cycleTimeMS, api);
})
});
}
})
});
};

api.tasks.enqueuePeriodicTask = function(api, task, next){
Expand Down Expand Up @@ -342,4 +349,4 @@ var initTasks = function(api, next)

/////////////////////////////////////////////////////////////////////
// exports
exports.initTasks = initTasks;
exports.initTasks = initTasks;

0 comments on commit a0ebbcc

Please sign in to comment.