Git Product home page Git Product logo

Comments (8)

ceblanton avatar ceblanton commented on August 25, 2024

This is great, thank you. There are two sorts of overwriting here, though.

There's the ~/cylc-src/NAME location, which is the workflow template checkout.

If that location exists, what does overwrite do? It seems a little destructive to do a "rm -rf" on the user's behalf. You could also consider renaming it instead to ~/cylc-src/NAME.old.blah, where blah might be some timestamp. (Bronx fremake renames the old directory as opposed to deleting it when --force-checkout is used).

Then there's the ~/cylc-run/NAME location, which is the installed workflow.

If that location exists, then yes, I think a cylc clean NAME on the users's behalf is what is needed.

from fre-cli.

cwhitlock-NOAA avatar cwhitlock-NOAA commented on August 25, 2024

from fre-cli.

bcc2761 avatar bcc2761 commented on August 25, 2024

I second this proposal with two options. I think the erase/overwrite option should definitely be implemented, but I'm wondering if we give users the ability to simply just rename the old one (how --force-checkout in Bronx works right now), that users might use this command more than once and it would then have the same issue again where the pre-determined 'old experiment run' name would now have the 'already exists' error message. Do we want to allow them to move/rename multiple older experiment runs of the same name? This would be done with a counter of some sort, or else it would probably be better to not give them this option at all. Thoughts?

from fre-cli.

ceblanton avatar ceblanton commented on August 25, 2024

It's a little confusing to have the "workflow definition" configuration in ~/cylc-src/NAME and the "installed workflow" in ~/cylc-run/NAME, but we need to help make this as understandable as possible.

We could start with no extra options, but try to document the usages anyway. i.e.

If ~/cylc-src/NAME exists, the message could be:

"The workflow definition specified by -e/-p/-t already exists at the location ~/cylc-src/NAME. If you would like to recheck-out a fresh workflow definition, move or remove the ~/cylc-src/NAME location, and run this command again."

from fre-cli.

cwhitlock-NOAA avatar cwhitlock-NOAA commented on August 25, 2024

from fre-cli.

cwhitlock-NOAA avatar cwhitlock-NOAA commented on August 25, 2024

from fre-cli.

bcc2761 avatar bcc2761 commented on August 25, 2024

How does Bronx deal with this right now? Does this ever happen? @ceblanton

from fre-cli.

cwhitlock-NOAA avatar cwhitlock-NOAA commented on August 25, 2024

As of March 8, chat with @ceblanton we seem to have the following consensus:

  • No auto-removal/auto-moving of experiments from the fre pp checkout; instead making a separate tool (fre pp stop) that stops all running processes associated with an experiment and cleans up any directories generated from ~/cylc-run.
  • Bronx currently deals with this in the fre run step, where you have the option to --overwrite or be --unique.
  • For now, we're trying to stop the process if there's an experiment that has the same name and ask the user to either change the configuration or run fre pp stop themselves. No effort to implement a move yet, and we're not trying to remove output files from the postprocessing since they'll be overwritten.

from fre-cli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.