icewind1991 / files_inotify

Adds support detecting changes in local external storages with occ files_external:notify
29 stars 3 forks source link

files_external:notify always stops after 60 seconds #11

Open goofacz opened 5 years ago

goofacz commented 5 years ago

I experience problem with files_inotify. It correctly detects changes in local external storage, but it stops running after 60 seconds returning SUCCESS error code. I made a workaround and I automatically restart service.

Platform: OS: Arch Linux Nextcloud: 16.0.3.0 PHP: 7.3.8-1 nginx: 1.16.0-1 mariadb: 10.4.7-1

pdschandler commented 5 years ago

Yep. I've been reading these PR's and hoping by the time I had a chance to implement this I'd magically not be affected, but lo and behold - I'm seeing the same exact behavior. I'm on Alpine linux in the official Docker container with the added packages to support inotify. Adding the inotify scan commands into the supervisord config actually works pretty well to mitigate this issue - I made them always restart immediately, and while there is a small CPU spike every minute, it doesn't seem to affect performance after my testing. I also tested a lot of rapid file changes happening at once and I was never able to get the process to actually miss any of them, despite changing files as the process closed and restarted. So that's nice. But this isn't ideal.

The plugin works great otherwise. Has anyone been able to figure out a likely cause for the process exiting? Seems very weird that it happens with a success code.

ghost commented 5 years ago

Just got inotify installed and see the same issue with it exiting with success after a short while.

I also checked the Nextcloud logs but there are no entries, even in debug mode.

tmolitor-stud-tu commented 5 years ago

I just commented issue #7 on this bug.

pdschandler commented 5 years ago

This is fantastic, thank you so much. Hopefully we can see this merged and deployed to the app store.

EDIT: I see it's just been pushed! Thank you so much guys. Cannot wait to test this out; I should get a chance to in a couple of hours.