Open
Description
I find myself doing this every time I use follow:
var seq = path.resolve(__dirname, 'sequence')
var since = readSeq(seq)
follow({
db: myCouch,
since: since
}, function(er, change) {
if (er)
throw er
saveSeq(file, change.seq)
// do stuff...
})
function readSeq(file) {
try {
return +fs.readFileSync(file, 'ascii') || 0
} catch (er) {
return 0
}
}
var saving = {}
function saveSeq(file, seq) {
if (saving[file])
return
saving[file] = true
fs.writeFile(file, '' + seq + '\n', 'ascii', function(er) {
saving[file] = false
})
}
It's not that important to make sure that every sequence ID is saved, and of course, a lot in rapid succession will NOT be saved. But, I write follow scripts with the intent of them being crash-only and picking up where they leave off on a crash. Couch is great for this, and it'd be awesome if follow made it easier.
Ideal API:
follow({
db: myCouch,
seq_file: path.resolve(__dirname, 'sequence')
}, function(er, change) {
// etc.
})
Metadata
Metadata
Assignees
Labels
No labels