koanf icon indicating copy to clipboard operation
koanf copied to clipboard

Add Watch alternative to provider.File to return Watcher obj

Open gczuczy opened this issue 9 months ago • 1 comments

This way the watcher object can be closed and deallocated properly.

The problem this solved, is when koanf is being used with managed dependency injection and the koanf instance is deallocated and reallocated at some time in the code. In these cases the created watchers are permanent, and koanf is still triggering the callbacks on obsolet koanf instances (which already belong to the GC).

We've found this during unit testing, where each test is bringing up its own config instance along with koanf, and watcher callbacks are being called after we have "deallocated" (removed the references to, as there's no Close() or anything similar on koanf.Koanf) to the koanf instance belonging to the test.

gczuczy avatar May 10 '24 10:05 gczuczy