ImageGrid/ui/workers.js
2014-01-22 03:01:13 +04:00

59 lines
1.3 KiB
JavaScript
Executable File

/**********************************************************************
*
* Deferred worker API
*
* NOTE: at this point this only contains a worker queue...
*
*
**********************************************************************/
// object to register all the worker queues...
var WORKERS = {}
/********************************************************* Workers ***/
// get/create a named worker queue...
//
// XXX rename this to task-related.... (???)
function getWorkerQueue(name, pool_size, no_auto_start){
// XXX 1 is the default for compatibility...
pool_size = pool_size == null ? 1 : pool_size
// create a new worker queue...
if(WORKERS[name] == null){
var queue = makeDeferredPool(pool_size, no_auto_start)
WORKERS[name] = queue
// return existing worker queue...
} else {
var queue = WORKERS[name]
}
return queue
}
// kill all worker queues...
function killAllWorkers(){
for(var k in WORKERS){
if(WORKERS[k].isRunning()){
console.log('Worker: Stopped:', k)
}
WORKERS[k].dropQueue()
}
WORKERS = {}
}
/*********************************************************************/
/**********************************************************************
* vim:set ts=4 sw=4 : */