-
Notifications
You must be signed in to change notification settings - Fork 27
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
Introduce links for async jobs actions (hateos style) in webserver #7320
Introduce links for async jobs actions (hateos style) in webserver #7320
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #7320 +/- ##
==========================================
- Coverage 87.30% 87.15% -0.16%
==========================================
Files 1709 1546 -163
Lines 66361 62651 -3710
Branches 1125 891 -234
==========================================
- Hits 57938 54601 -3337
+ Misses 8103 7791 -312
+ Partials 320 259 -61
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks ok with me, some minor things
packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/storage/data_export.py
Outdated
Show resolved
Hide resolved
services/web/server/src/simcore_service_webserver/tasks/plugin.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that is very nice thanks! I added a few comments. we can discuss if needed.
packages/models-library/src/models_library/api_schemas_long_running_tasks/tasks.py
Show resolved
Hide resolved
packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/async_jobs/async_jobs.py
Outdated
Show resolved
Hide resolved
services/web/server/tests/unit/with_dbs/01/storage/test_storage_rpc.py
Outdated
Show resolved
Hide resolved
|
b5230f1
into
ITISFoundation:master
What do these changes do?
This PR redesigns both the webservers api for the async jobs (currently: computing the size of a path and zipping). It also improves on the design of the rpc interface (currently in
storage
, but to be moved toservicelib
in the future).Webserver task api
/v0/tasks-legacy
which is not included in the openapi specs. The new interface does not break backwards compatibility. The newGET /v0/tasks
endpoint retrives both the legacy long running tasks as well as the new async jobs. The HATEOS links will point to the right endpoints for getting the status/results or abort endpoints.Storage async jobs rpc interface
Raise exceptions in
get_result
method (for the async jobs in the storage worker) when an error occurred while running the job, it was aborted or is not yet done.Raise exceptions if status/result/abort is requested but the job doesn't exist.
Improve unit testing both in webserver and storage related to async jobs.
Related issue/s
How to test
Dev-ops checklist