oss-aspen / 8Knot

Dash app in development to serve open source community visualizations using GitHub data from Augur. Hosted app: https://eightknot.osci.io
MIT License
47 stars 59 forks source link

Limit user's ability to repeatedly try to refresh their groups in the UI #462

Open JamesKunstle opened 12 months ago

JamesKunstle commented 12 months ago

Whenever users press the "Refresh Groups" button, the backend queries Augur for their groups. This consumes a Celery worker slot and is a vector by which Celery / Augur could be overwhelmed.

We should limit this possibility by caching a piece of information about the last time that a user refreshed their groups and short-circuiting the request if they requested recently.

We should also let the user know that they're on a cooldown before they can refresh their groups again.

30 seconds seems reasonable, although maybe 15 would make them feel more in control.