34 lines
810 B
JavaScript
34 lines
810 B
JavaScript
|
var redis = require("../index"),
|
||
|
client = redis.createClient(null, null, {
|
||
|
command_queue_high_water: 5,
|
||
|
command_queue_low_water: 1
|
||
|
}),
|
||
|
remaining_ops = 100000, paused = false;
|
||
|
|
||
|
function op() {
|
||
|
if (remaining_ops <= 0) {
|
||
|
console.error("Finished.");
|
||
|
process.exit(0);
|
||
|
}
|
||
|
|
||
|
remaining_ops--;
|
||
|
if (client.hset("test hash", "val " + remaining_ops, remaining_ops) === false) {
|
||
|
console.log("Pausing at " + remaining_ops);
|
||
|
paused = true;
|
||
|
} else {
|
||
|
process.nextTick(op);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
client.on("drain", function () {
|
||
|
if (paused) {
|
||
|
console.log("Resuming at " + remaining_ops);
|
||
|
paused = false;
|
||
|
process.nextTick(op);
|
||
|
} else {
|
||
|
console.log("Got drain while not paused at " + remaining_ops);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
op();
|