Merge remote-tracking branch 'origin/pr/237'
* origin/pr/237: progress thresold removed as Marek suggested Avoid progress events flooding Fixes QubesOS/qubes-issues#4406 Fixes QubesOS/qubes-issues#3035
This commit is contained in:
commit
fa2429aae4
@ -326,6 +326,7 @@ class Backup:
|
||||
#: callback for progress reporting. Will be called with one argument
|
||||
#: - progress in percents
|
||||
self.progress_callback = None
|
||||
self.last_progress_time = time.time()
|
||||
#: backup ID, needs to be unique (for a given user),
|
||||
#: not necessary unpredictable; automatically generated
|
||||
self.backup_id = datetime.datetime.now().strftime(
|
||||
@ -521,11 +522,13 @@ class Backup:
|
||||
if not self.total_backup_bytes:
|
||||
return
|
||||
if callable(self.progress_callback):
|
||||
progress = (
|
||||
100 * (self._done_vms_bytes + self._current_vm_bytes) /
|
||||
self.total_backup_bytes)
|
||||
# pylint: disable=not-callable
|
||||
self.progress_callback(progress)
|
||||
if time.time() - self.last_progress_time >= 1: # avoid flooding
|
||||
progress = (
|
||||
100 * (self._done_vms_bytes + self._current_vm_bytes) /
|
||||
self.total_backup_bytes)
|
||||
self.last_progress_time = time.time()
|
||||
# pylint: disable=not-callable
|
||||
self.progress_callback(progress)
|
||||
|
||||
def _add_vm_progress(self, bytes_done):
|
||||
self._current_vm_bytes += bytes_done
|
||||
|
Loading…
Reference in New Issue
Block a user