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

Support paginated job listings #677

Open
soxofaan opened this issue Dec 4, 2024 · 4 comments
Open

Support paginated job listings #677

soxofaan opened this issue Dec 4, 2024 · 4 comments
Assignees

Comments

@soxofaan
Copy link
Member

soxofaan commented Dec 4, 2024

Pagination of job listings is becoming an important requirement to avoid performance issues due to users with hundreds/thousands of jobs. As noted in Open-EO/openeo-api#550, paginated is client-driven, so this needs handling in python client too.

related issues

@m-mohr
Copy link
Member

m-mohr commented Dec 5, 2024

Here's a list of things that can be paginated for your convenience:

  • GET /collections
  • GET /processes
  • GET /jobs
  • GET /process_grapg
  • GET /files
  • GET /services
  • Logs (Services and Jobs)
  • Collection Items (if implemented)

As the approach is similar for all endpoints except logs (and somewhat collection items), I directly implemented it for all endpoints in the JS client for example.
Note: In Python (and R) this might have implications on the Vue Components that get rendered in Jupyter...

@soxofaan
Copy link
Member Author

soxofaan commented Dec 6, 2024

with 76bac3b I already added the limit argument to connection.list_jobs() to have very minimal support for paging (just to get first page)

@m-mohr
Copy link
Member

m-mohr commented Dec 6, 2024

I see you decided to default to null, too. I thought it would be better so set a specific value, but it would be somewhat breaking so had to go for null before the JS client will go toward 3.0.0...

@soxofaan
Copy link
Member Author

soxofaan commented Dec 6, 2024

yes, I just went for default null to keep the existing behavior for now (and to have tests that document the existing behavior).
But next step will probably be to change the default to something like 100.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants