Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Realtime API #1508

Closed
ishitatsuyuki opened this issue Oct 5, 2018 · 2 comments
Closed

Realtime API #1508

ishitatsuyuki opened this issue Oct 5, 2018 · 2 comments

Comments

@ishitatsuyuki
Copy link
Contributor

There are some known services (mainly docs.rs) that continuously watch updates on crates.io to trigger jobs (doc build, dependency update PR, etc).

This will probably need a way for baseline fetch as well, which could be achieved with a database dump (#630).

The requirements for the APIs are:

  • Streams (probably WebSocket) of changes, including relations (document-based NoSQL excels at this)
  • A window of backlog of changes (to allow consistency when a short disconnect happens)

Some ways to implement reactiveness are:

  • Use a database that is designed for direct sync (bypasses backend) (CouchDB)
  • Use a database that is capable of realtime watches (MongoDB, RethinkDB)
  • Roll our own implementation based on some PubSub and filtering based on timestamp datas
@samueltardieu
Copy link

There is also the possibility of using a RSS/Atom feed + WebSub. Work would be minimal on crates.io (generate XML feed with the 100 latest applications + ping the hub and let it do its work).

@sgrif
Copy link
Contributor

sgrif commented Oct 11, 2018

This seems like it would be much better handled by watching the index, rather than the registry. Either way, I certainly don't see this being prioritized any time in the near future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants