file-size-watcher

Watches files for size changes, emitting an event when they do.

node-file-size-watcher

Watches files for size changes in Node.js. Tiny, unit tested, and no dependencies.

###Usage

require('file-size-watcher').watch("fileName.txt").on('sizeChange',
    function callback(newSizeoldSize){
        console.log('The file size changed from ' + oldSize + ' to ' + newSize);
    }
);

The watch method returns an EventEmitter. It takes the following parameters:

watch(fd, [interval], [onErr], [onReady])

  • fd - File descriptor (anything fs.stat accepts for a file descriptor)
  • interval - pause between checks in milliseconds.
  • onErr - Error handler. Users can listen for 'error' events themselves, but setting this avoids possible race conditions.
  • onReady - Same thing as onErr, but for 'ready' event.

###Events

  • 'sizeChange' - passes new size and old size to listeners.
  • 'ready' - passes initial size to listeners (called only once).
  • 'error' - Passes any error objects to listeners. Includes ENOENTs, so prepare for lots of those if the file is missing. Program will keep running regardless of whether this is listened to.

###Extras

The watcher object (var watcher = fsw.watch(...)), besides emitting events, also has a few additional features:

    watcher.stop(); // Stops watching the file 
    watcher.start(); // Resumes watching the file 
    console.log(watcher.info.size); // Returns last known size.