Get cancellation grace period correctly
This changes the logic of getting cancellation grace period of task runner before closing it: to move the liveness check into the cancel_all() method in the scheduler rather than ask the resource if it's IN_PROGRESS. Change-Id: Ia2a03de227ff15cdce1b3dbb6cd6bff6c5a50a15 Partial-Bug: 1693495
This commit is contained in:
parent
30c87bae3d
commit
8c62e96947
@ -1132,9 +1132,6 @@ class Resource(status.ResourceStatus):
|
|||||||
properties.update_translation(rules, client_resolve=client_resolve)
|
properties.update_translation(rules, client_resolve=client_resolve)
|
||||||
|
|
||||||
def cancel_grace_period(self):
|
def cancel_grace_period(self):
|
||||||
if self.status != self.IN_PROGRESS:
|
|
||||||
return None
|
|
||||||
|
|
||||||
canceller = getattr(self,
|
canceller = getattr(self,
|
||||||
'handle_%s_cancel' % self.action.lower(),
|
'handle_%s_cancel' % self.action.lower(),
|
||||||
None)
|
None)
|
||||||
|
@ -472,6 +472,9 @@ class DependencyTaskGroup(object):
|
|||||||
return grace_period
|
return grace_period
|
||||||
|
|
||||||
for k, r in six.iteritems(self._runners):
|
for k, r in six.iteritems(self._runners):
|
||||||
|
if not r.started() or r.done():
|
||||||
|
gp = None
|
||||||
|
else:
|
||||||
gp = get_grace_period(k)
|
gp = get_grace_period(k)
|
||||||
try:
|
try:
|
||||||
r.cancel(grace_period=gp)
|
r.cancel(grace_period=gp)
|
||||||
|
Loading…
Reference in New Issue
Block a user