-
Notifications
You must be signed in to change notification settings - Fork 3
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
Beeflow connect - A REST API for BEEflow itself. #837
Conversation
…roperly setup. Work dir is created empty, but it needs the input files from the tarball.
After meeting with Pat, she mentioned that we should have a way to turn on the remote API without it being on by default. I'm working on this now. |
The other thing was that we needed to do was put an option in the beeconfig to choose what port to use during startup for the remote api. |
By default could the port be generated similarly to the others that use the user id in some fashion? |
@pagrubel I created a separate issue for this particular feature. In this PR I'm just trying to pull in the basic functionality for the remote api. There are many other features for the remote api I want to add that are missing from this PR. But I think your suggestion is a good idea, and we should do that at some point. |
|
||
|
||
@app.get("/submit_long/{wf_name}/{tarball_name}/{main_cwl_file}/{job_file}") | ||
def submit_new_wf_long(wf_name: str, tarball_name: str, main_cwl_file: str, job_file: str): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this should be a PUT or POST request? I think GET requests are usually just used for extracting information without causing state changes.
I tried this locally with curl commands. Maybe I'm doing something wrong, but when I try to use the submit URL it doesn't show anything. I also don't see a workflow running (using |
Oh, actually the remote_api is failing with |
I changed the port and now it's working for me. I was able to submit cat-grep-tar. |
Please add unique port for user. |
Per Jake: if the port is in use it still shows as Running so try to make it fail if this is the case. |
The fix for finding a port dynamically has been added. Pat requested I write up documentation for these changes so far as part of the PR. Additionally I think it would be good if there were better notification for the user when the user's selected port has a conflict. Right now there's just a message in the .beeflow/log/remote saying that it picked a different port. |
This PR, adds components to BEEflow to support a REST API for the BEEflow client itself.
Using this API users can remotely submit jobs to BEEflow by doing the following:
Documentation has been added to the sphinx docs directory.