Skip to content

email_outputs should gracefully handle missing workflow_id #533

@kshakir

Description

@kshakir

Seen returned from Terra, a submission that didn't have a workflowId:

Traceback (most recent call last):
File "/elided/pythonuserbase/lib/python3.12/site-packages/dropseq_terra_utils/email_outputs.py", line 438, in run_with_retries
func()
File "/elided/pythonuserbase/lib/python3.12/site-packages/dropseq_terra_utils/email_outputs.py", line 141, in <lambda>
lambda: send_workspace_emails(system_clients, gcloud_clients_list, email_templates_list, submission_filters),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/elided/pythonuserbase/lib/python3.12/site-packages/dropseq_terra_utils/email_outputs.py", line 306, in send_workspace_emails
process_workspace(system_clients, gcloud_clients, email_templates_list, workspace, submission_filters)
File "/elided/pythonuserbase/lib/python3.12/site-packages/dropseq_terra_utils/email_outputs.py", line 324, in process_workspace
process_submission(system_clients, gcloud_clients, email_templates_list, submission_info)
File "/elided/pythonuserbase/lib/python3.12/site-packages/dropseq_terra_utils/email_outputs.py", line 351, in process_submission
process_workflow(
File "/elided/pythonuserbase/lib/python3.12/site-packages/dropseq_terra_utils/email_outputs.py", line 367, in process_workflow
workflow_id = submission_workflow["workflowId"]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'workflowId'

Not sure what other keys might be missing. But at least for this missing workflowId case it's probably ok to just skip this submission and try again later. If we find ourselves infinitely retrying due to perpetually malformed responses we can file another ticket and/or contact Terra support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions