Comments (3)
Yeah, I can see how this would happen. Probably FTP writes to the file in chunks, or writes to one file and then another - the end result being that node sees a file change notification before FTP has finished its work.
Unfortunately, I don't think there's any way to know when a file "has stopped changing". All node knows is that the file changed just now, and who knows if it will change again in the future.
The delay might be doable - we're actually already waiting for a very short delay (100ms or something) to avoid firing multiple times for git checkouts and CoffeeScript compilations and the like. So if that was configurable you could just set it to something exceptionally long like 30s.
My only qualm about adding that option is increasing code and API complexity for something that's a bit of an edge case. Not saying it's out of the question, just that I want to keep supervisor reasonably lean, which means I'm hesitant to add features unless they're valuable to more than just a couple people.
from node-supervisor.
The only way to know if it's done, is to have a loop after detecting the change, that will keep checking it until it stops changing. Kinda undesirable, which is why I threw the bit about the configurable delay.
I kinda figured it would be an edge case, but my thought was that it's the kind of thing that would be annoying enough to be an issue, but not so much that anyone would say anything about it.
from node-supervisor.
Ah, I see what you had in mind. Yeah, I think a configurable delay would be the way to go. I may leave this open for a bit and see if anyone else mentions this as a problem. I'll edit the title to a bit more descriptive, too.
from node-supervisor.
Related Issues (20)
- node native Inspector not work with custom port using supervisor HOT 5
- not possible to have colored output (using the unbuffer trick, doesnt work)
- Does not work with node 7 HOT 3
- package.json license is "MIT", but the actual LICENSE file is BSD-2.
- How to add node --max-old-space-size flag? HOT 3
- Conflict with phantomjs while converting to pdf HOT 1
- Prevent developers from unintentionally killing daemon / worker processes on local machine
- why my node-supervisor doesn't work
- 100% CPU load when I use 'supervisor app.js' but when I use' node app.js ' just only 5% CPU load HOT 4
- Supervisor stop accepting "rs" to restart
- bash: supervisor: command not found HOT 2
- problem with --experimental-modules HOT 1
- How do I listen for all types of files?
- Recurse over directories
- Is there a way to use the preload args of node? HOT 3
- is there a way to exit on error instead of hanging?
- can this run Python as well?
- Infinite restarts of "Starting child process" HOT 2
- Arguments Incorrectly Parsed HOT 3
- Can this be run in background?
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-supervisor.