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

AWSBatch Interface #4

Open
mattBrzezinski opened this issue Feb 24, 2021 · 0 comments
Open

AWSBatch Interface #4

mattBrzezinski opened this issue Feb 24, 2021 · 0 comments

Comments

@mattBrzezinski
Copy link
Member

Currently the AWSBatch interface is somewhere in between a high-level Julia interface and a low-level AWS API interface. We should do some iterating on this design to find something that that allows us to easily update with AWS API changes and new features while keeping things easy to use on the Julia side. Eventually we want the high-level Julia interface to look something like:

job = @batch memory=2048 begin
    using AWSClusterManagers
    addprocs(AWSBatchManager(5))
    ...
end

For inspiration look at AWSLambda.jl which has a @lambda and @lambda_eval for executing Julia code on Lambda.

Keeping this in mind I think we should adjust the current AWSBatch in the following way:

Make the BatchJob only keep track of the job_id. This would result in an interface change something like:

submit(; kwargs...) -> BatchJob
wait(::BatchJob) -> Bool
status(::BatchJob) -> JobState
describe(::BatchJob)

Applying these kind of changes to the job definition and other types would result in:

  • The structures no longer needing to be mutable
  • Aligning the low-level interface closer to the AWS API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant