Skip to content
This repository has been archived by the owner on Jun 18, 2020. It is now read-only.

Feature: REST API for zero-os #19

Open
rkhamis opened this issue Aug 1, 2018 · 1 comment
Open

Feature: REST API for zero-os #19

rkhamis opened this issue Aug 1, 2018 · 1 comment
Milestone

Comments

@rkhamis
Copy link

rkhamis commented Aug 1, 2018

Issue migrated from https://api.github.com/repos/zero-os/0-core/issues/483, opened by @muhamadazmy

I suggest to implement a REST api for 0-core as a replacement for the current ledis rpc mechanism. Ledis will still be kept for internal queue mgmt and cache. Also for log streaming (although this can be better replaced with web-sockets but we can think about this later)

The REST api will allow us to avoid lots of limitations of the redis rpc mechanism such as:

  • REST will allow the server to generate unique IDs for the commands (if not provided) so it's not up to the client to avoid jobs IDs collision
  • It allows us to return queuing errors, like duplicate IDs and Maximum Running jobs exceeded. Which are now currently not possible to return (specially the duplicate IDs error) because server doesn't know how to send this back to the caller without breaking the original job response channel.
  • Avoid memory leaks by preventing a malicious client from pushing super large or corrupted commands.
  • Throttling support
  • Easier client generation (although we will still right wrappers on top of the basic generated client to have easy accessing for functionality as we do now)

Again, we will keep ledis of course to cache responses, and stream logs and such.

@rkhamis rkhamis added this to the Roadmap milestone Aug 1, 2018
@rkhamis
Copy link
Author

rkhamis commented Aug 1, 2018

*commented by @muhamadazmy
@FastGeert @zaibon *

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

No branches or pull requests

1 participant