implement caching of broadcaster list for manifest requests
@ya7ya is already working on this.
Since Dec 16, 2019.
- Dominant language
- TypeScript
- Stars
- 88
- Forks
- 37
- PR merge metrics
- No merged PRs in 30d
Description
Currently, requests for `https://livepeer.live/stream/UUID.m3u8` [hit every single broadcaster](https://github.com/livepeer/livepeerjs/blob/master/packages/api/src/worker.js#L122) to amalgamate manifests. This is inefficient and fragile; we might break if a single broadcaster request gets stuck.
What we should do instead is maintain a mapping of stream UUID to broadcasters and only amalgamate from broadcasters that have data for us. To accomplish this, we can create a new record for a broadcaster when we [get an incoming webhook request](https://github.com/livepeer/livepeerjs/blob/master/packages/api/src/controllers/stream.js#L60), and then only make upstream requests to the pertinent broadcaster.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.