Comments (4)
If I understand correctly:
- The job definition
nextstrain-job
would be the main definition for every job using thelatest
image. - A new job definition should be created before the job submission if a new image is specified.
This raise a few questions:
- The naming convention of the job definition. Something like
nextstrain-job_<image_tag>
would probably work fine. For examplenextstrain-job_branch-python-base
. - How should the accumulation of job definition be handled? Since it'd be only linked to an image, it's not clear how/when a job definition could/should be erased. After some time, you could have a lot of definitions created, but only a few used.
from cli.
Thanks for thinking about this, @jstoja! Here are my thoughts, would appreciate feedback.
The job definition
nextstrain-job
would be the main definition for every job using thelatest
image.
Yes, assuming the requested job/image are default as shipped. Any given build job should use the requested job description as-is it uses the requested image.
Note that the name of the job definition can be controlled by config, env, or option and may not be nextstrain-job
.
Also note that the requested image name will be nextstrain/base
(implicitly :latest
) by the shipped default, but it can be set by config, env, or option to something else, like nextstrain/base:branch-python-base
or even nextstrain/seasonal-flu:latest
(hypothetical, doesn't exist).
A new job definition should be created before the job submission if a new image is specified.
Correct.
This raise a few questions:
The naming convention of the job definition. Something like
nextstrain-job_<image_tag>
would probably work fine. For examplenextstrain-job_branch-python-base
.
The image part will have to be the fully-specified name, not just the tag of nextstrain/base
since that may not always be the image name. I think some suffixing scheme will be good enough, though. I'm not sure what characters AWS Batch allows in job definition names, but I'd prefer a less common delimiter char than underscore. Perhaps nextstrain-job|nextstrain/base:branch-python-base
or nextstrain-job:nextstrain/seasonal-flu:latest
or nextstrain-job~nextstrain/base:branch-python-base
.
How should the accumulation of job definition be handled? Since it'd be only linked to an image, it's not clear how/when a job definition could/should be erased. After some time, you could have a lot of definitions created, but only a few used.
This is a reasonable concern, but I think for now this issue can be punted. Unless you have some clever ideas here?
from cli.
Happy to contribute, awesome project guys, the amount of work and the quality of the software is incredible!
I'm not sure what characters AWS Batch allows in job definition names, but I'd prefer a less common delimiter char than underscore.
Documentation lists explicitly hyphens and underscores:
jobDefinitionName
The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.
I've tested with /
and ~
in the AWS interface: /
, :
, |
and ~
. None of them work with the following message: Error executing request, Exception : Job definition name should match valid pattern
.
Therefore, I would suggest:
- We use
nexstrain-job_xxx
xxx
would be the docker image name and tag, but with the characters/
, and_
replaced to-
, and:
with_
.
With this proposal a job definition with image nextstrain/seasonal-flu:latest
would have a job like: nextrain-job_nextstrain-seasonal-flu_latest
. This allows to list jobs and split by _
to have the name of the job definition, the image and the tag (if we agree that there shouldn't be _
in the job definition name).
This is a reasonable concern, but I think for now this issue can be punted. Unless you have some clever ideas here?
No I don't.
from cli.
Documentation lists explicitly hyphens and underscores:
Ah, well, underscores it is! I think your proposal for substitutions makes sense.
from cli.
Related Issues (20)
- [batch] ZIP archive of build dir is stored without compression HOT 1
- `nextstrain update conda` fails silently HOT 4
- Integrate AWS Batch set up and usage doc with runtime doc
- Uncaught ImmatureSignatureError: The token is not yet valid (iat) HOT 3
- Python user site directory leaks into Conda runtime HOT 5
- Test compatibility with SingularityCE 4.x series
- nextstrain view can't connect to host on a Mac inside a Conda environment HOT 8
- Use same version resolution method in `nextstrain setup conda` as `nextstrain update conda` HOT 1
- Invalid `~/.shrc` file named in standalone installer instructions HOT 5
- Broken CI due to upstream release; mypy implicated HOT 1
- Consider UI/UX for AWS Batch runtime without Docker runtime HOT 1
- Singularity/Apptainer Version HOT 4
- remote/s3 should instantiate its own MimeTypes instance
- CLI-ception: Some commands do not work in managed runtime shells HOT 4
- Extend validity of login refresh tokens to 90 days from 30 days HOT 1
- Unhandled exception when renewing login from a different Cognito user pool HOT 1
- Pass AWS credentials from standard file to Docker HOT 1
- Show progress during `check-setup` HOT 1
- Unable to set up Singularity runtime on Fred Hutch's `rhino` HOT 2
- shell: Command hangs when `--conda` is used and the runtime has not been set up HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cli.