Correctly handle concurrency

pull/20/head
Johannes J. Schmidt 11 years ago
parent 78bcc94b72
commit 76c4788adb

@ -26,12 +26,14 @@ Now CouchDB takes care of the couchmagick process.
; Optional username and password
username = mein-user
password = secure
; Number of simultanous streams. Default is 1
; Number of simultanous streams. Default is 1.
streams = 8
; Concurrency level (number of simultanous convert processes). Default is 1
concurrency = 8
; Timeout in ms. Default is 10000
timeout = 1000
; Batch size. Default is 100
limit = 1000
limit = 10
```
Imagemagick Configuration

@ -28,6 +28,7 @@ couchmagick.get({
},
// Batching
concurrency: pkg.name + '.concurrency',
streams: pkg.name + '.streams',
limit: pkg.name + '.limit',
timeout: pkg.name + '.timeout'
@ -37,7 +38,8 @@ couchmagick.get({
}
// defaults
config.streams = config.streams || 4;
config.concurrency = config.concurrency || 1;
config.streams = config.streams || 1;
config.timeout = config.timeout || 10000;
config.limit = config.limit || 100;
@ -57,7 +59,8 @@ couchmagick.get({
var options = {
limit: config.limit,
feed: 'continuous',
timeout: config.timeout
timeout: config.timeout,
concurrency: config.concurrency
};
@ -73,6 +76,7 @@ couchmagick.get({
stream.on('end', next);
}
// main loop ;)
function run(err) {
if (err) {
@ -89,7 +93,7 @@ couchmagick.get({
return process.exit(0);
}
async.eachLimit(dbs, config.processes, listen, run);
async.eachLimit(dbs, config.streams, listen, run);
});
}
run();

@ -1,6 +1,6 @@
{
"name": "couchmagick",
"version": "1.5.2",
"version": "1.6.0",
"description": "Run ImageMagicks `convert` on CouchDB documents.",
"main": "index.js",
"preferGlobal": true,
@ -29,7 +29,7 @@
"dependencies": {
"async": "~0.2.9",
"event-stream": "~3.0.20",
"couchmagick-listen": "~1.4.3",
"couchmagick-listen": "~1.5.0",
"couch-daemon": "~1.2.1",
"nano": "~4.2.1"
},

Loading…
Cancel
Save