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

Workflow.run() doesn't wait and doesn't return outputs #317

Closed
innovate-invent opened this issue Jan 22, 2020 · 2 comments · Fixed by #387
Closed

Workflow.run() doesn't wait and doesn't return outputs #317

innovate-invent opened this issue Jan 22, 2020 · 2 comments · Fixed by #387

Comments

@innovate-invent
Copy link
Contributor

for output_id in res['outputs']:
if content_infos_dict[output_id].type == 'file':
outputs.append(out_hist.get_dataset(output_id))
elif content_infos_dict[output_id].type == 'collection':
outputs.append(out_hist.get_dataset_collection(output_id))
if wait:
self.gi._wait_datasets(outputs, polling_interval=polling_interval,

The api returns an empty 'outputs' dict in the invocation information. This causes this code to immediately exit the loop and produce an empty list.

The code needs to wait for the 'outputs' dict to become populated by Galaxy.

@nsoranzo
Copy link
Member

nsoranzo commented Jan 23, 2020

I don't think that's possible with the current implementation of Workflow.run() in BioBlend.objects in case of a non-fixed number of outputs. For that we would need to wrap workflow invocations as objects, probably. See also #171 .

Pull requests welcome!

@innovate-invent
Copy link
Contributor Author

innovate-invent commented Jan 23, 2020

I am not sure what you mean by 'non-fixed number of outputs'. My workflow creates the same outputs regardless of the input.

#171 doesn't work either as there are race conditions where all jobs are complete but new jobs have yet to be created during an invocation request.

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

Successfully merging a pull request may close this issue.

2 participants