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

"Detours" should be called something else #358

Open
computron opened this issue Jun 28, 2023 · 9 comments
Open

"Detours" should be called something else #358

computron opened this issue Jun 28, 2023 · 9 comments

Comments

@computron
Copy link
Member

computron commented Jun 28, 2023

In jobflow, a "detour" means something else than it does in FireWorks. Namely, in FireWorks a detour eventually routes back to the original workflow (which is the origin of the "detour" name, i.e. you eventually get back on the road you intend). In jobflow I don't think this is the case and the normal detour is handled by the Additions option

Suggest renaming "detour" in jobflow to avoid confusion, as this is a pretty specific term and people might easily think it means the same thing in both libraries.

@computron computron changed the title "Detours should be called something else "Detours" should be called something else Jun 28, 2023
@Andrew-S-Rosen
Copy link
Member

Andrew-S-Rosen commented Jun 29, 2023

Linking this to #341, which needs further clarity because I also found the name confusing when I was writing up the documentation for that section.

@utf
Copy link
Member

utf commented Jun 29, 2023

I agree that the wording is confusing because of the Fireworks context. That said, the detour does route back to the original workflow but the outputs can't be used. The main difference between detour and addition is the order of execution. A new detour job will always run before any other children are run. Whereas an addition job can get run before/after child jobs depending on the priority of the workflow manager.

detour/addition

The original detour in fireworks is more like "replace" in jobflow in the way that's its used.

replace

One question is whether we really need both addition and detour. Addition is just a special version of detour where the execution order doesn't matter. We could make the default behaviour of addition the same as detour and remove the detour option entirely.

If we decide to keep both detour and addition, some options for a new name could be:

  • Insert
  • Diversion

@davidwaroquiers
Copy link
Contributor

Good that this issue is raised and it would indeed be good to clarify. We also had some thinking with @gpetretto about this. And we ended up thinking, if we cannot use the outputs of a detour (which is the case in jobflow), for which case is it useful (and I did not find a case where this would be needed, basically when we need the outputs, we always use replace as it is the "only" option for it) ? So we actually never use detour, only addition or replace.

@utf
Copy link
Member

utf commented Jun 29, 2023

I think the actual detour is still useful in contrast to addition. You might want to run some post processing and update a file in place before the next job runs.

@davidwaroquiers
Copy link
Contributor

I see, but that means this job needs to run in the directory of the previous one right ? Or at least access the path of the job from which the detour is made and perform it's updates of the said files there.

@Andrew-S-Rosen
Copy link
Member

@utf, I think that would be a great figure to add to the docs!

@computron
Copy link
Member Author

This conversation is getting me a bit mixed up

@utf can you put diagrams of what all the current options are in jobflow? The FWs diagram is below:

image

@utf
Copy link
Member

utf commented Jul 27, 2023

Hi @computron, the options available are in this comment: #358 (comment)

There are also options to stop_children and stop_jobflow which are the equivalent of defuse_children and exit in fireworks.

@utf
Copy link
Member

utf commented Aug 31, 2023

How about we change detour to insert?

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

No branches or pull requests

4 participants