Description |
Disabling dependency checks (by setting the dependency check interval impossibly high) is good for runtime performance, but prevents us from deploying updated PHP code without a web app restart.
Enabling dependency checks means that with a large number of servers, we will almost certainly hit the race condition where a dependency check happens while we're in the middle of updating the PHP code base, which will cause inconsistent code to run (file A is checked and is unchanged, file B is checked and has just changed so gets reloaded, then file A gets updated by the code push and we end up running old-A with new-B until the next dependency check.)
If there were an API to tell Resin (or just Quercus) to make the dependency check happen immediately, we could hit a script to call that method after the PHP files had all been updated, and set the interval to a year or somesuch so it'd never happen on its own.
Restarting the whole webapp is not optimal because we lose the local cache and have to repopulate it. |