Opened 4 years ago

#5008 assigned enhancement

Better error reporting when web services are down

Reported by: Tom Goddard Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Web Services Version:
Keywords: Cc: chimera-programmers, Scooter Morris
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

We should provide good error messages when ChimeraX web services are down, saying whether they are permanently down (e.g. in Chimera we plan to retire MultiFit), or temporarily down such as when we are doing server maintenance.

Also it would be nice to be able to handle when a service moves, especially one not hosted by our lab. For example, EMDB recently migrated their URLs.

These goals could be achieved in the following way. When our current web service code uses a URL and it fails, currently we catch that to give a simple hard-coded error message. Instead, try another fetch to a web service status page, for example,

https://chimeraxservices.net/status/alphafold_sequence_search.json

and if that succeeds use the status message it provides (maybe html). If it fails then go with the current hard-coded error message. The same fetch could be used to handle migration, where the returned json could have a "new_url" dictionary entry. And our web service code could be adjusted to always keep these URLs as preference settings which would then be updated if the new url provided differs from what ChimeraX is currently using.

The code for all this is quite simple and can be handled by a shared ChimeraX routine so individual services need very little new code.

The main difficulty is that to make this useful when our servers are down, we need to have a separate web server that is up (maybe a desktop machine), and we can then point chimeraxservices.net to that machine when scheduled downtime will effect our users.

replace the hard-coded URLs in ChimeraX code for these services and use settings

Change History (0)

Note: See TracTickets for help on using tickets.