-
Notifications
You must be signed in to change notification settings - Fork 243
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
Job outputs? #225
Comments
Hi @prologic! You are absolutely right. This is currently not possible cause we didn't implement this feature yet. Cheers, |
Awesome! Thanks for the confirmation. I wouldn't be able to replace all this gnarly Jenkins spaghetti I have here with a Gaia workflow and appropriate implementation of "Jobs" without this so looking forward to having this feature implemented! I think the challenge here would be to define a "protocol" / "format" that Jobs can "return ouytput" in a sane and consistent way. My recommendation based on the code I'm seeing and architecture/design is to have a "Context" object (similarly to the |
Any updates on this? |
Hi @prologic. Unfortunately both of us have been very busy with life lately and some other commitments. If I recall correctly, @michelvocks first would like the docker executor in because that's a massive change. That will go in sometime this week and then we can start working on something else. :) Also, I'm hoping my schedule will get better in a few weeks or so, then I can start concentrating on Gaia a little bit more again. :) That would be nice as I have a few things on my list that I would like to work on. :D Cheers for your patience. |
Are there future plans for a Kubernetes/Nomad executor too at some point? |
Sounds good. Let me know if I can help in any way, docs, design testing, etc. |
Not that I know of. Could you elaborate on what do you mean by Kubernetes executor? Do you mean a CRD + Operator? |
Maybe it would help if you described what this docker executor is? Or point me to a PR or Issue? |
That's awesome! Great job! |
Alright. Let's take a look at this. :) |
So the way I see it, it's possible that a job can have a return value, but that value would have to be very generic as jobs could have multiple types of outputs... I propose a list of key value pairs. Something like, @prologic @michelvocks What do you think? |
Something like...
|
This sounds perfect! |
Yup just a simple KV map would work very nicely here. I would not support anything beyond this. |
@prologic Almost done. :) Now need to test this thing and write some unit tests and have a review from Michel. :) |
I'm more than happy to spin up a new Gaia instance to test your PR too :) if that helps! |
Cool. :) You'll have to build it though because I had to edit the import paths and such. If you're okay with that, that would be a lot helpful. :) |
Sure no problems! Just make sure your PR has a "Test Plan" I can follow and I'll find some time to test your stuff this week :) |
Absolutely. I'll update the PR with detailed instructions. :) |
Going through the documentation, examples and the Go SDK (I assume the other language SDKs are the same); It doesn't seem possible to have a job compute and return some output which you may use as input into the next job(s) in your pipeline.
The only thing a Job can do is take some input
Arguments
and return an error. I assume the design calls for inputs to be known up front.What if I need some inputs to a Job in my pipeline whose values are dependent on a previous job? This doesn't seem possible right now; Is this by design? Does this add considerable complexity to something like Gaia?
In a "normal" gRPC/Protobuf service oriented architecture (which Gaia is loosely based around; but behaves more like server-less, faas...) you would expect to be able to return some "output" from your service's endpoints/functions/etc.
Thoughts?
The text was updated successfully, but these errors were encountered: