Giter Club home page Giter Club logo

Comments (4)

jstoja avatar jstoja commented on June 24, 2024

If I understand correctly:

  • The job definition nextstrain-job would be the main definition for every job using the latest 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 example nextstrain-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.

tsibley avatar tsibley commented on June 24, 2024

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 the latest 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 example nextstrain-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.

jstoja avatar jstoja commented on June 24, 2024

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.

tsibley avatar tsibley commented on June 24, 2024

Documentation lists explicitly hyphens and underscores:

Ah, well, underscores it is! I think your proposal for substitutions makes sense.

from 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.