Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 16 additions & 5 deletions qiskit_experiments/database_service/db_experiment_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -983,6 +983,10 @@ def save(self) -> None:
return

self._save_experiment_metadata()
if not self._created_in_db:
LOG.warning("Could not save experiment metadata to DB, aborting experiment save")
return

for result in self._analysis_results.values():
result.save()

Expand Down Expand Up @@ -1011,11 +1015,18 @@ def save(self) -> None:
self._service.delete_figure(experiment_id=self.experiment_id, figure_name=name)
self._deleted_figures.remove(name)

if self._created_in_db and self.verbose:
print(
"You can view the experiment online at "
"https://quantum-computing.ibm.com/experiments/" + self.experiment_id
)
if self.verbose:
# this field will be implemented in the new service package
if hasattr(self._service, "web_interface_link"):
print(
"You can view the experiment online at "
f"{self._service.web_interface_link}/{self.experiment_id}"
)
else:
print(
"You can view the experiment online at "
f"https://quantum-computing.ibm.com/experiments/{self.experiment_id}"
)

@classmethod
def load(cls, experiment_id: str, service: DatabaseServiceV1) -> "DbExperimentDataV1":
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
fixes:
- |
`Experiment.save()` should now fail gracefully when experiment metadata failed to save instead of crashing
- |
The link to the result db shown after saving is now by default obtained from the service, not hard-coded