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

[Roadmap] Improve Data Export Functionality #6389

Closed
Tracked by #5212
SchrodingersGat opened this issue Feb 2, 2024 · 2 comments · Fixed by #6911
Closed
Tracked by #5212

[Roadmap] Improve Data Export Functionality #6389

SchrodingersGat opened this issue Feb 2, 2024 · 2 comments · Fixed by #6911
Labels
enhancement This is an suggested enhancement or new feature Fund This issue can be specifically funded for development import / export Data importing, exporting and processing
Milestone

Comments

@SchrodingersGat
Copy link
Member

SchrodingersGat commented Feb 2, 2024

The data export functionality (i.e. exporting datasets to a file such as .csv or .xlsx) is currently very inefficient, to the point where it causes session timeout when exporting more than a few hundred records.

django-import-export

We use django-import-export to export records - however this has not been optimized and makes a LOT of database hits. In particular, it does not do any of the clever query annotations which we have implemented for the API. So, we have the ability to extract lots of records quickly (via queryset annotation) but django-import-export does not make use of this.

We can refactor the export process to use our optimized API serializers, and use this data for file export.

This has the huge advantage that the exported file data would then exactly match the data exported via the API - currently there is a discrepancy between the two export formats

Background Worker

We can also potentially offload the export process to the background worker thread. This would allow for longer running processes that do not get prematurely killed by short connection timeouts from the frontend worker...

related issues

Upvote & Fund

  • We're using Polar.sh so you can upvote and help fund this issue.
  • We receive the funding once the issue is completed & confirmed by you.
  • Thank you in advance for helping prioritize & fund our backlog.
Fund with Polar
@SchrodingersGat SchrodingersGat added enhancement This is an suggested enhancement or new feature import / export Data importing, exporting and processing Fund This issue can be specifically funded for development labels Feb 2, 2024
@SchrodingersGat SchrodingersGat added this to the horizon milestone Feb 2, 2024
@matmair
Copy link
Member

matmair commented Feb 5, 2024

@SchrodingersGat is this in relation to #5125?

@SchrodingersGat
Copy link
Member Author

@matmair yes, thanks, I have updated the related issues list now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is an suggested enhancement or new feature Fund This issue can be specifically funded for development import / export Data importing, exporting and processing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants