-
Notifications
You must be signed in to change notification settings - Fork 28
✨Computation of path size: WebAPI + RPC to storage through Asyncjobs #7315
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
✨Computation of path size: WebAPI + RPC to storage through Asyncjobs #7315
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #7315 +/- ##
==========================================
+ Coverage 78.67% 87.85% +9.18%
==========================================
Files 1179 1526 +347
Lines 47798 61533 +13735
Branches 552 891 +339
==========================================
+ Hits 37605 54062 +16457
+ Misses 10038 7212 -2826
- Partials 155 259 +104
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
7abbfa4
to
491118d
Compare
c9dec58
to
db0772f
Compare
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.
Merci 👍
services/storage/src/simcore_service_storage/modules/celery/_celery_types.py
Outdated
Show resolved
Hide resolved
3c6c2c8
to
08f0994
Compare
|
What do these changes do?
This PR brings a new asynchronous entrypoint in the webserver API for computing path sizes:

The call in the webserver is transmitted to the storage microservice via RPC, then to its storage-worker micro-service via Celery. The status/result of the computation is retrieved via
GET /storage/async-jobs/{job_id}/status
andGET /storage/async-jobs/{job_id}/result
respectively.How to use
POST /v0/storage/locations/0/paths/50d72a1c-f816-11ef-8af3-0242ac140610:size
--> returns a jobIdGET /v0/storage/async-jobs/ce05e55f-c57a-45f0-9b12-d3dc79de0be6/status
returns the job statusGET /v0/storage/async-jobs/ce05e55f-c57a-45f0-9b12-d3dc79de0be6/result
returns the job result --> byte size of the pathBonus:
_worker_tasks
api subfolder to contain all celery tasks definitiondefine_task
to handle automatically async methodsPath
to be passed through Celery tasks (NOTE: Celery 5.5. will be compatible with Pydantic types!)watchdog
for devel modeRelated issue/s
How to test
Dev-ops checklist