-
Notifications
You must be signed in to change notification settings - Fork 30
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
Add auto update for runners and warriors #85
Conversation
Created shell script wrapper for runner to allow automatic updates through git pull.
Added a check to change executable name when shell script is used. Added runner update routine to print out message and stop gracefully.
@@ -164,7 +164,12 @@ def check_and_update(): | |||
|
|||
|
|||
def main(): | |||
parser = ArgumentParser(description="Run the pipeline") | |||
global runner |
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.
Is this required? I don't see an outer reference to runner
in the changes, and main
initializes its own runner later on.
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.
Or does this (like global warrior
below) expose the variable for use outside main
? (That seems to be the intent.)
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.
It exposes the variable for use in the runner_update()
I'm not sure if this is a good idea. A Task shouldn't be in control of the entire warrior. Is the wrapper script needed? There's already update code inside I think if we want instant auto updating, Seesaw will need to be rewritten with a better architecture. |
To be honest, I couldn't quite figure out how to trigger those updates and figured it would be safer to have seesaw stop and get restarted by the script regardless. To your other point, no matter how many concurrent items you run, each pipeline only attempts to update once in the script if the bash && convention is followed in the script |
I've given this more thought and there may be a different way to do this without a wrapper script and giving control over the pipeline to the script and a minimal rewrite of seesaw architecture. Also, I think chances are minimal of this request getting pulled. Therefore, I'm closing this pull request. |
This pull request adds the ability to trigger automatic updates for runners and warriors using the preexisting out-of-date signal in the tracker. Note that runners have to use the shell script and warriors cannot be updated if they use docker.