-
Notifications
You must be signed in to change notification settings - Fork 201
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
[rqd] Add frame recovery logic for docker mode #1614
base: master
Are you sure you want to change the base?
[rqd] Add frame recovery logic for docker mode #1614
Conversation
Whenever rqd restarts it loses track of all the frames launched by it that haven't finished. This change adds a new configurable option to backup frame states to a file, that is used to recover the frame cache state and try to re-bind to the running frames. This first version only works on docker mode
Signed-off-by: Diego Tavares <[email protected]>
71ae0f9
to
5fa31c7
Compare
bda928c
to
b40527b
Compare
b40527b
to
3b24dd1
Compare
18bf372
to
4d87bf6
Compare
4d87bf6
to
bdbc360
Compare
@@ -921,7 +990,7 @@ def runLinux(self): | |||
finally: | |||
rqd.rqutil.permissionsLow() | |||
|
|||
frameInfo.pid = frameInfo.forkedCommand.pid | |||
frameInfo.pid = runFrame.pid = frameInfo.forkedCommand.pid |
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.
Double-check this double assignment and the other similar double assignments in the code.
frameInfo.pid = runFrame.pid = frameInfo.forkedCommand.pid
if time_till_next > (2 * rqd.rqconstants.RQD_MIN_PING_INTERVAL_SEC): | ||
self.rqCore.onIntervalThread.cancel() | ||
self.rqCore.onInterval(rqd.rqconstants.RQD_MIN_PING_INTERVAL_SEC) | ||
# Atatch to the job and follow the logs |
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.
Fix comment:
Attach
to the job and follow the logs
@@ -967,5 +1065,7 @@ def test_runDarwin(self, getTempDirMock, permsUser, timeMock, popenMock): | |||
) | |||
|
|||
|
|||
|
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.
Remove extra 2 lines
Whenever rqd restarts it loses track of all the frames launched by it that haven't finished. This change adds a new configurable option to backup frame states to a file, that is used to recover the frame cache state and try to re-bind to the running frames.
This first version only works on docker mode