Opened 15 months ago
Last modified 8 months ago
#15752 assigned enhancement
Better reporting for webservices
| Reported by: | Zach Pearson | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Web Services | Version: | |
| Keywords: | Cc: | chimerax-programmers | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The recent BLAST outage really illustrates the need for more information to be sent between ChimeraX and webservices. Webservices knows if a service is down, and there are a few ways ChimeraX could get and react to this information:
- We could have a long running job that queries webservices every N (minutes|hours) to see what services are online
- Tools could check the status of just their services when they start and disable themselves if the service is down
- Some combination of the above: a central registry for service statuses that tools check
More dynamism on the client side would prevent a lot of user confusion.
Change History (3)
comment:1 by , 15 months ago
comment:2 by , 15 months ago
I think some small improvement would be helpful. When the BLAST databases got deleted on the server ChimeraX reported an error like (example from #15719)
> blastprotein #1/A database uniref100 cutoff 1e-3 matrix BLOSUM62 maxSeqs 100 > version 1 name bp3 Webservices job id: HBJRW2SLI5R4YPE5 BlastProtein failed: 'bytes' object has no attribute 'items' Parsing BlastProtein results failed: 'NoneType' object has no attribute 'keys'
This gave no clear indication to the user or to us what went wrong. To us it meant the ChimeraX BLAST client code failed to parse the output from the server. So the obvious fix is the client needs to correctly handle an error from the server. What should have happened is the BLAST client would say "BlastProtein failed due to an error on the server: [Python traceback of server error]". The Python traceback from the server would say something like "File not found: /databases/mol/blast/db/pdbaa.pos". If the code gave this informative error message everyone would have the clearest idea where the problem happened, and it would save us all time.
comment:3 by , 8 months ago
On the ChimeraX wiki, in the Usage section, there is an "Opal web service activity" link which is obviously dead. It would be nice if that were replaced with a "Web service activity" link which showed some usage/activity information about our current web services.
If we went with a central status checker I was thinking of putting its GUI underneath the web proxy settings tab in ChimeraX -> Preferences.