sillsdev / sillsdev/serval

Throttle get word graph

Open
#489 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
3
Forks
2
Avg merge
3d 1h
Merged PRs (30d)
3

Description

So, if a person is just moving their mouse around, they may have a few word graph requests per second - leading to a barrage of requests that are each being handled simultaneously. Can we do anything else?
image

If too many come, it will get backed up and then lead to Timeouts:
image

Can we make a queue of one where one one word graph or translation is handled at a time and if the waiting queue has two or more items, only the last item is kept and the others are discarded (before they are processed by thot)?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the REST request handlers for word graph and translation requests, then follow the path that allows concurrent processing and leads to timeouts. Confirm how pending requests are represented and identify the relevant timeout behavior. Done means processing is limited to one request, with only the newest pending request retained and older pending requests discarded.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.