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

Sdap 268: asynchronous request management #107

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open

Conversation

tloubrieu-jpl
Copy link
Contributor

@tloubrieu-jpl tloubrieu-jpl commented Aug 11, 2020

  1. added the fair scheduling option in spark (tested on podaac-devk8s, one big request launched first, small request second, second result comes first, see test code https://github.com/tloubrieu-jpl/sdap_nexus_tests/)

  2. added NexusHandlerManager to manage different end-points for a single algorthim. The demonstrate that with:

    • legacy end-points
    • rest end point (for the Spark, for example /TimeAvgMapSpark --> /algorithms/TimeAvgMap )
  3. add asynchronous management on the API, after given time (hard code for now), request sends back 202 status and a job id. The job status and eventually the job result can be found from url /jobs/<job_id>

The webapp docker image is available on https://hub.docker.com/repository/docker/tloubrieu/nexus-webapp

  1. asynchronous parameters (time out, cleaning period and request validity period) are still hard coded.

eamonford and others added 3 commits September 29, 2020 11:51
… end-points (...Spark for legacy, or algorithm/...)

create handler manager to have multiple endpoint for the same algorithm

implement a demo asynchronous mode in the restapi

remove pydataclasses dependency
@tloubrieu-jpl
Copy link
Contributor Author

@ngachung @jjacob7734, I often have issues with 504 error on SDAP bigdata and when it happens, I need to wait for SDAP to consume all the requests I previously sent (through a parallelized script) before I resend a more reasonable series of requests.

Do you have the same experience ?

I was thinking 1) this is consuming a lot a computing resources for nothing and 2) we don't have a way to insure that the client can get a response from SDAP.

So I was thinking that could be helpful to move forward with this pull request, since that would enable to get the SDAP request results whatever the duration of the processing.

That being said I don't remember the exact status of the development and now there are conflicts with the current dev.

Thanks

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

Successfully merging this pull request may close these issues.

2 participants