PoonLab / covizu

Rapid analysis and visualization of coronavirus genome variation
https://filogeneti.ca/CoVizu/
MIT License
45 stars 20 forks source link

Notify user when server is undergoing update, resulting in 503 response #436

Closed ArtPoon closed 1 year ago

ArtPoon commented 1 year ago

When the Node server is getting new data, it will return a 503 error code during some requests such as iterating through a search (see #435). Since the interface becomes unresponsive as a result (and error codes appear in the JS console), it would be preferable if the client displays a subtle pop-up to let the user know that the server is temporarily unavailable because of data updates.

ArtPoon commented 1 year ago

@nav-mohan noted that this would not be an issue if we used a database, see #433 (i.e., would not have to restart the node server) - note we would have a duplicate database, so there is always an intact DB available (node server would have to point to this one, somehow...)

GopiGugan commented 1 year ago

We can use fs.watch for now to avoid restarting the node server when new data files are detected and then serve the 503 error

GopiGugan commented 1 year ago

Looking into using PM2. If we run PM2 in cluster mode. it'll allow us to run multiple instances of our node server. If we use pm2 reload PM2 will restart these multiple instances one by one so it won't have downtime

ArtPoon commented 1 year ago

would need to update INSTALL.md to include this as a dependency for running a local instance

ArtPoon commented 1 year ago

@GopiGugan testing, reports that PM2 taking up about 7.2GB RAM

GopiGugan commented 1 year ago

Fixed with PR #449

nav-mohan commented 1 year ago

Hey Gopi, I'm running late for our meeting at 10:30. Could we reschedule for 11:00 please?

On Thursday, February 16, 2023, Gopi Gugan @.***> wrote:

Closed #436 https://github.com/PoonLab/covizu/issues/436 as completed.

— Reply to this email directly, view it on GitHub https://github.com/PoonLab/covizu/issues/436#event-8542447039, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQPFLZZLLMP7KYA37WY65ETWX3BTLANCNFSM6AAAAAASYHN44A . You are receiving this because you were mentioned.Message ID: @.***>