Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Support retrieving interim results from runtime jobs #162

Closed
wants to merge 56 commits into from

Conversation

kt474
Copy link
Member

@kt474 kt474 commented Oct 18, 2021

Summary

fixes #64

Details and comments

@rathishcholarajan rathishcholarajan added this to the 0.1 milestone Oct 19, 2021
kt474 and others added 2 commits October 18, 2021 23:19
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
@kt474
Copy link
Member Author

kt474 commented Oct 19, 2021

Should the interim results be returned as a string or object? Also my understanding is this is just for retrieving interim results of completed jobs since they can also be streamed through a websocket?

@kt474 kt474 changed the title [WIP] Support retrieving interim results from runtime jobs Support retrieving interim results from runtime jobs Oct 19, 2021
kt474 and others added 2 commits October 19, 2021 13:31
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
@rathishcholarajan
Copy link
Member

rathishcholarajan commented Oct 19, 2021

Should the interim results be returned as a string or object?

interim_results function should take an optional decoder parameter just like results and the decoded result should be returned, either using passed in decoder or self._result_decoder.

Also my understanding is this is just for retrieving interim results of completed jobs since they can also be streamed through a websocket?

Usually that is the case, but there is nothing stopping the user from invoking the function when the job is running.

@rathishcholarajan rathishcholarajan added the Changelog: New Feature Include in the Added section of the changelog label Oct 19, 2021
@rathishcholarajan rathishcholarajan changed the base branch from main to runtime-release-q4 October 20, 2021 18:18
@rathishcholarajan rathishcholarajan added the backport potential The bug might be minimal and/or important enough to be port to stable label Nov 2, 2021
Copy link
Member

@rathishcholarajan rathishcholarajan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks @kt474! Will wait on the duplicate entries issue NTC-786 to be resolved on server side before merging this issue.

@rathishcholarajan rathishcholarajan added the on hold Cannot fix yet label Nov 2, 2021
rathishcholarajan and others added 12 commits November 2, 2021 13:20
* Remove version field from runtime program

* Add release note
This needs to change in the program upload body request in order to
meet the IBM Cloud API guidance.

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
* Accept JSON schema as program metadata

* Update qiskit_ibm/runtime/ibm_runtime_service.py

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
* update runtime metadata

* return if no data

* fix mypy

* Update releasenotes/notes/update-runtime-metadata-d2ddbcfc0d034530.yaml

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
kt474 and others added 7 commits November 2, 2021 13:24
* Allow filtering runtime jobs by program ID

* Fix lint
* retrieve program data

* refetch once if no program data

* remove unused import

* refresh program on data property

* fix lint

* Update qiskit_ibm/runtime/runtime_program.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* Update qiskit_ibm/runtime/runtime_program.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* Update qiskit_ibm/runtime/runtime_program.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* add test case

* add test case

* add default data constant

* add _validate_program method

* Update test/ibm/runtime/test_runtime.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
* add provider param

* split provider into hub/group/project

* add reno

* wip add test case

* fix lint/docs

* Update qiskit_ibm/runtime/ibm_runtime_service.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* Update releasenotes/notes/filter-jobs-by-provider-dead04faaf223840.yaml

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* refactor test cases

* remove print

* add integration test

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
* wip add limit/offset params

* add reno

* refactor & update test case

* offset -> skip, implement refresh logic

* refresh when skip/limit not default

* Update releasenotes/notes/runtime-program-pagination-8d599ae984a5ce33.yaml

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* Update releasenotes/notes/runtime-program-pagination-8d599ae984a5ce33.yaml

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* add  to test case

* refactor refresh logic

* refactor

* fix lint

* add integration test

* update doc string

* Update qiskit_ibm/api/clients/runtime.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* cleanup merge

* Apply suggestions from code review

* fix lint refactor

* Fetch all programs upfront 20 at a time and store in cache

For subsequent requests paginate and return from cache

* Fix integration test

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: Rathish Cholarajan <Rathish.C@ibm.com>
@rathishcholarajan rathishcholarajan changed the base branch from runtime-release-q4 to main November 9, 2021 22:18
@rathishcholarajan
Copy link
Member

Moved to Qiskit/qiskit-ibm-runtime#15

@kt474 kt474 deleted the interim-results-endpoint branch April 21, 2022 17:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport potential The bug might be minimal and/or important enough to be port to stable Changelog: New Feature Include in the Added section of the changelog on hold Cannot fix yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support retrieving interim results for runtime jobs
4 participants