Как отключить gulp-watch, если он неактивен

У меня есть задача наблюдения за глотком, и я хочу, чтобы она автоматически останавливалась, если за последний час не было никаких изменений. Это возможно?


person Finglish    schedule 25.03.2015    source источник


Ответы (1)


Используйте тайм-ауты:

gulp.task('watcher', function() {
    var watcher = gulp.watch('./app/*.js', ['jshint']);
    var timeout = setTimeout(watcher.end, 60*60*1000);

    watcher.on('change', function() {
        clearTimeout(timeout);
        timeout = setTimeout(watcher.end, 60*60*1000);
    });
});

Каждый раз, когда что-то в вашем Glob меняется, вы убиваете тайм-аут и запускаете его заново. В противном случае вы покончите со своим наблюдателем.

person ddprrt    schedule 27.03.2015