Description
tokio::timeout is implemented as an async poll, which means that the specified timeout duration only gives a minimum bound on when the Future will return.
Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)
- use a construct that polls more often, tightening the maximum bound on the timeout
Completion checklist
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Back-end_Task/Bug_completion_checklist