Comments (5)
Just to note, we pass about 500,000 files through this library about 4 times a day (within 1 hour) with our custom timer
check and it works flawlessly. Basically, stat
the file when it comes in, set a timer for 500ms and stat
again, if the size matches, presumedly the file is completely written. It hasn't failed yet. It may not be the best approach but it works for us
from node-watch.
Yes that would be quite useful, thanks for your suggestion :)
from node-watch.
for inspiration on polling, see here https://github.com/paulmillr/chokidar/blob/master/index.js#L265
ideally non-polling would be best, not sure how inotify delivers in_close events
from node-watch.
@crh3675 hey could yo provide an example of you're aproach ?
from node-watch.
I did something similar but just did a recursive function (used timeouts initially) but decided against it because I was able to check file.size and the previous size and its been working great since.
Having file complete event would be awesome then I dont need to do this code.
Here is my example
const checkFile = function (info, previousSize){
fs.stat(info.path, (err, fileInfo) => {
if (err === null) {
if (fileInfo.size === previousSize && fileInfo.size > 0) {
uploadFile(info, false);
} else {
checkFile(info, fileInfo.size);
}
} else {
console.log(`File not found ${err}`);
}
});
};
from node-watch.
Related Issues (20)
- Follow symlink HOT 2
- watch dir bug HOT 2
- Calling close() before the watcher is ready does nothing HOT 2
- Avoid synchronous fs calls HOT 1
- Catch errors when adding watchers for child directories HOT 1
- Catch error when use Node 14.15.3 on Linux SysTem HOT 2
- I got this error at first use lib in nodejs using express HOT 2
- node-watch is not working recursive in Ubuntu under WSL HOT 5
- when watch a dir that mount by nfs, if not work HOT 2
- New ES syntax HOT 2
- Only pass skip on initial recurse
- Travis CI is no longer free, try to switch to GitHub CI
- Fix tests on Windows
- fs.watch() not detecting changes to file from git operation HOT 3
- images update problem HOT 3
- Should not watch filtered paths HOT 4
- linux and recursively with node 14 throws TypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM] HOT 1
- Add ignore option HOT 7
- multiple events for a file sent over network HOT 2
- High CPU consumption on window service HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-watch.