- If two people simultaneously try to access the page at the same time, uwsgi will give each their own instance of the statusmonitor.py App. For us, this is a problem because the minstermusic program only has one socket defined, as has the statusmonitor App. This would result in a major issue with address conflicts (eg 'address already in use error') unless the sockets code was rewritten to keep supplying a new socket each time.
- The above problem can (allegedly) be mitigated by using the uwsgi cheaper subsystem, which should allow the number of workers to be limited. However, I couldn't make that work and decided to cut my losses because of the next problem.
- The statusmonitor App has no idea what the minstermusic program is doing let alone the minsterbells program, so it will exit when it considers that it has given enough time for the 'worker' to complete its tasks. This can be extended by changing the worker-reload-mercy parameter but that would probably have to be so long that it would prevent other elements of the App working properly.
So what I have done is reverted to using the Flask Development Server as suggested by the guy on the Raspberry Pi Forums. It's not ideal, but it works and I don't think it's a security issue since the WMT Network is completely isolated from the Internet by the Firewalls in the WMT Webserver and the VPN Server.
Any comments on this?