-
Notifications
You must be signed in to change notification settings - Fork 0
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
How to deal with long running processes? #52
Comments
Once we have a solution here, we'll want to add additional tests that deal with final states, e.g., right now the cromwell api tests are dealing with initial state after workflow submission, which of course only covers initial state conditions. |
@dtenenba @tefirman @seankross Thoughts on this? |
@sckott, based on our discussion, let me know if you agree with this (others are encouraged to weigh in too of course): For testing the PROOF API, we'll have the following kinds of tests:
Also, tests should only evaluate jobs when they have just been submitted, or they are completely finished running (at either the start or end of their lifecycle). |
Yep, agree @seankross |
Work started locally on my machine on branch vcr notes and todos:
|
(pulling info from a slack thread convo with @dtenenba on 2024-12-20 so it doesn't get lost)
We have some "long" running processes that we'll have to deal with for tests. Long here may be 30 seconds or multiple hours, both of which need specific handling - a request to get metadata about job X after 2 seconds may error or return a different set of data than the same request after job X has completed.
Some options:
If things can take a long time and we're okay with that (we don't use the above approaches of fixtures, mocks, etc.), then we need a different testing setup than is typical (where you do X and Y and then run the unit test right away). How would that work?
Some background info:
on: workflow_dispatch:
then you can do e.g.,It's not clear yet what the solution is, but likely involves some system where one workflow (.yml file) submits workflows, then another runs tests that depend on those workflows (presumably all in final state on cromwell) - how the 2nd system knows when to run is up for debate; possibly some script polling for all workflows being done
The text was updated successfully, but these errors were encountered: