ipol-journal / ipolDevel

IPOL demo system development
GNU Affero General Public License v3.0
23 stars 3 forks source link

Feature/fastapi demorunner port #182

Closed hmaciasc closed 1 year ago

hmaciasc commented 1 year ago

Demorunner ported to fastAPI along with tests.

@kidanger It's been tested with a couple of demos and most likely requires a couple of changes in every Docker DRs code, just because of the request changes of exec_and_wait and new names of some endpoints. Regarding exec_and_wait I accept new name suggestions before merging.

kidanger commented 1 year ago

What are the exact API changes on the demorunner? I'll review the PR and adapt the docker demorunner.

hmaciasc commented 1 year ago

Here you have new endpoint routes and old names at the function name:

@app.get("/workloads", status_code=201) def get_workload()

@app.post("/compilations/{demo_id}", status_code=201) def ensure_compilation

@app.delete("/compilations/{demo_id}", status_code=204) def delete_compilation

@app.post("/exec_and_wait/{demo_id}", status_code=200) async def exec_and_wait

Also from core the request of exec_and_wait has changed a bit because fastAPI would enforce certain requests standards that before were done in a bad way.