-
Notifications
You must be signed in to change notification settings - Fork 36
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
base: master
Are you sure you want to change the base?
Conversation
24ff296
to
48da694
Compare
bb6490e
to
9fa5a80
Compare
… 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
9fa5a80
to
142ce38
Compare
@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 |
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/)
added NexusHandlerManager to manage different end-points for a single algorthim. The demonstrate that with:
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