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

how to control different development efforts #3

Open
ilaflott opened this issue Jul 18, 2024 · 2 comments
Open

how to control different development efforts #3

ilaflott opened this issue Jul 18, 2024 · 2 comments

Comments

@ilaflott
Copy link
Member

Branches? Tags? submodules?

discuss...

@ilaflott
Copy link
Member Author

@underwoo's thought is something like this: link

@ilaflott ilaflott changed the title how to control different development effors how to control different development efforts Jul 18, 2024
@ceblanton
Copy link
Contributor

conda-forge is an organization of repositories, though I'm not sure what that means.

@underwoo is thinking that fre-workflows could be an github organization rather than a repository?

ceblanton pushed a commit that referenced this issue Jul 18, 2024
…aFilter,

though i don't know where to put it exactly for now.

new file lib/python/__init__.py --> for importing custom job runner locally
in a python shell, and debugging what I can there.

new file lib/python/ppan_handler.py --> the custom job runner
inherits from SLURMHandler() within cylc/flow/job_runner_handlers

initially I wanted to define this with a class method, "submit",
that does everything that SLURMHandler() does, but adds the step
of running tool_ops_w_papiex.py before calling the submit command... would
have a little like "tool_ops_w_papiex(job_file_path); self.super().submit();"

UNFORTUNATELY #1: the cylc ecosystem has two kinds of job handlers, those
with a submit method, and those with a constant called SUBMIT_CMD_TMPL.

UNFORTUNATELY #2: SLURMHandler() is a handler that does not have a submit method.
Instead, it has a SUBMIT_CMD_TMPL, which houses the string, "sbatch '%(job)s'".
this string gets parsed to place '%(job)s' with the job script in mind.

UNFORTUNATELY #3: the way this command gets parsed seems to prohibit making
a one-liner that calls the python script before doing the "sbatch" command.
i.e. separating commands with e.g. semicolons or && or || simply doesn't work.

IMPLICATION: I need to write a PPANHandler() submit class method, that does
everything that cylc/flow/job_runner_mgr.py does when it realizes the specified
job runner has no submit method, grabs the SUBMIT_CMD_TMPL, and issues the
job submission command via procopen from cylc/flow/cylc_subproc.py.

FUTURE IAN, BEWARE #1: the stdout AND the stderr from the procopen call
gets passed through job_runner_mgr._filter_submit_output(), which prevents
certain types of text output from being seen on the screen

FUTURE IAN, BEWARE #2: ANY AND EVERY friggin little syntax problem or
bad line of code in ppan_handler.py that breaks the submission seems
to result in text output that reliably gets caught by that output filter
from job_runner_mgr.py

IMPLICATION: gotta move slowly and methodically, step-by-step
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

2 participants