Closed chaen closed 3 months ago
You could describe it more specifically for a clearer understanding. What exactly are the interventions on services? maybe you have a specific example.. If the service does not respond, the portal returns [Errno 111] Connection refused:..
Suppose that the JobMonitoring service is taken down (on purpose, e.g. because there's a database update). In that case, the "Job Monitor" handler of the Web Portal would become unusable. Instead of having (dozens) of users getting an (for them) obscure message, we would prefer to let them see a "503" message.
Here are just a few thoughts on this issue:
/WebApp/Schema
. After that, the application will simply not be displayed in the menu. It may make sense to make an option for the application in the configuration to indicate downtime.ECONNECT
is implemented in the PR #4650, which is returned by the client in case of unsuccessful connection to the service. This code can be used in handlers for appropriate behavior, for example:
result = SomeClient().do()
if result.get('Errno', 0) == 1112:
raise WErr(503, 'Some service is not available now.')
I will do the PR taking into account the above.
thanks for looking into it. We considered removing the application from the list, but there are two issues with that:
As for ECONNECT
, I will comment in the appropriate PR and we will discuss it there, but I do not think that re-inventing error code for connection error is a good idea.
I still would like, as an admin, to be able to click somewhere (even if it is editing the CS), to say "show a maintenance page for this handler".
Won't solve.
When we perform an intervention on some services, the web portal tries connecting to these services, hangs, exhausts its threads, and then users complain because nothing works anymore. It would be nice if we could have a given handler return a 503 page for a while.