-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qiqqa lagging when terminating: FolderWatcher takes forever on large Watch dirtree #50
Labels
🐛bug
Something isn't working
⛷performance
Anything that's related to UX: speed of response; I/O speed, etc.
Milestone
Comments
GerHobbelt
added a commit
to GerHobbelt/qiqqa-open-source
that referenced
this issue
Aug 14, 2019
… (TODO: inspect other sites in code where GetFiles is invoked) - introduced `Utilities.Shutdownable.ShutdownableManager.Instance.IsShuttingDown` as a global flag to check whether the app is terminating: this works the same way as `!thread.IsRunning` but without the need to memoize the thread reference or pass it via extra function arguments. - Addd a couple of extra `IsShuttingDown` checks to improve 'exit' termination speed of the application.
Fixed in commit SHA-1: 08af03e using TODO: inspect other sites in code where |
GerHobbelt
added a commit
to GerHobbelt/qiqqa-open-source
that referenced
this issue
Aug 15, 2019
… the long recursive directory scan (using `EnumerateFiles()`) is only aborted whn the app is terminated or when it has run its course (or when there are more or less dire circumstances); otherwise the dirtreescan is periodically paused to give the machine a bit of air to cope with the results and/or other pending work, while an app exit is very quickly discovered still (just like before, it is also detected inside the `daemon.Sleep(N)` calls in there, so we're good re that one. Tested it and works nicely. jimmejardine#50
GerHobbelt
added a commit
to GerHobbelt/qiqqa-open-source
that referenced
this issue
Aug 16, 2019
…rge dirtrees being watched, the time limit can be reached and is never reset ==> no more PDFs are added! **Whoops!** **BUG** Also: when importing PDFs from a watched directory the proper check to see if a PDF is already existing in the library is by checking its HASH, rather than the DownloadSource location, which can be **different** for identical files, or even **identical** when files have been patched in-line using tools such as QPDF (https://github.com/GerHobbelt/qiqqa-revengin)
|
This was referenced Sep 3, 2019
GerHobbelt
added a commit
to GerHobbelt/qiqqa-open-source
that referenced
this issue
Oct 2, 2019
… (TODO: inspect other sites in code where GetFiles is invoked) - introduced `Utilities.Shutdownable.ShutdownableManager.Instance.IsShuttingDown` as a global flag to check whether the app is terminating: this works the same way as `!thread.IsRunning` but without the need to memoize the thread reference or pass it via extra function arguments. - Addd a couple of extra `IsShuttingDown` checks to improve 'exit' termination speed of the application.
GerHobbelt
added a commit
to GerHobbelt/qiqqa-open-source
that referenced
this issue
Oct 2, 2019
… the long recursive directory scan (using `EnumerateFiles()`) is only aborted whn the app is terminated or when it has run its course (or when there are more or less dire circumstances); otherwise the dirtreescan is periodically paused to give the machine a bit of air to cope with the results and/or other pending work, while an app exit is very quickly discovered still (just like before, it is also detected inside the `daemon.Sleep(N)` calls in there, so we're good re that one. Tested it and works nicely. jimmejardine#50
GerHobbelt
added a commit
to GerHobbelt/qiqqa-open-source
that referenced
this issue
Oct 2, 2019
…rge dirtrees being watched, the time limit can be reached and is never reset ==> no more PDFs are added! **Whoops!** **BUG** Also: when importing PDFs from a watched directory the proper check to see if a PDF is already existing in the library is by checking its HASH, rather than the DownloadSource location, which can be **different** for identical files, or even **identical** when files have been patched in-line using tools such as QPDF (https://github.com/GerHobbelt/qiqqa-revengin)
GerHobbelt
added a commit
that referenced
this issue
Nov 5, 2019
…ect other sites in code where GetFiles is invoked) - introduced `Utilities.Shutdownable.ShutdownableManager.Instance.IsShuttingDown` as a global flag to check whether the app is terminating: this works the same way as `!thread.IsRunning` but without the need to memoize the thread reference or pass it via extra function arguments. - Addd a couple of extra `IsShuttingDown` checks to improve 'exit' termination speed of the application.
GerHobbelt
added a commit
that referenced
this issue
Nov 5, 2019
… the long recursive directory scan (using `EnumerateFiles()`) is only aborted whn the app is terminated or when it has run its course (or when there are more or less dire circumstances); otherwise the dirtreescan is periodically paused to give the machine a bit of air to cope with the results and/or other pending work, while an app exit is very quickly discovered still (just like before, it is also detected inside the `daemon.Sleep(N)` calls in there, so we're good re that one. Tested it and works nicely. #50
GerHobbelt
added a commit
that referenced
this issue
Nov 5, 2019
… being watched, the time limit can be reached and is never reset ==> no more PDFs are added! **Whoops!** **BUG** Also: when importing PDFs from a watched directory the proper check to see if a PDF is already existing in the library is by checking its HASH, rather than the DownloadSource location, which can be **different** for identical files, or even **identical** when files have been patched in-line using tools such as QPDF (https://github.com/GerHobbelt/qiqqa-revengin)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🐛bug
Something isn't working
⛷performance
Anything that's related to UX: speed of response; I/O speed, etc.
HTR:
Logging will report something like this:
(augmented Qiqqa @ commit XXX)
Note the 300 seconds it took GetFiles() to complete.
The text was updated successfully, but these errors were encountered: