X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ef56ac56a0bac0710a486c0e5e9cdd3199eddc61..3e46aaf6469db111d549a9a5058f3ee4926e0200:/services/nodemanager/arvnodeman/timedcallback.py diff --git a/services/nodemanager/arvnodeman/timedcallback.py b/services/nodemanager/arvnodeman/timedcallback.py index 615f798f5b..4d2a1394df 100644 --- a/services/nodemanager/arvnodeman/timedcallback.py +++ b/services/nodemanager/arvnodeman/timedcallback.py @@ -1,4 +1,7 @@ #!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 from __future__ import absolute_import, print_function @@ -18,7 +21,7 @@ class TimedCallBackActor(actor_class): """ def __init__(self, max_sleep=1): super(TimedCallBackActor, self).__init__() - self._proxy = self.actor_ref.proxy() + self._proxy = self.actor_ref.tell_proxy() self.messages = [] self.max_sleep = max_sleep @@ -29,9 +32,9 @@ class TimedCallBackActor(actor_class): def deliver(self): if not self.messages: - return None + return til_next = self.messages[0][0] - time.time() - if til_next < 0: + if til_next <= 0: t, receiver, args, kwargs = heapq.heappop(self.messages) try: receiver(*args, **kwargs)