From da309c66c30c5d2f75bc2cdec81cfd27ffad0d14 Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Sat, 2 Aug 2008 03:12:15 +0000 Subject: [PATCH] Save resume data periodically --- ChangeLog | 1 + deluge/core/torrentmanager.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 07cd261ed..582012f92 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ Deluge 0.9.05 - "1.0.0_RC5" (In Development) Core: * Fix deluged running with ssh X forwarding by removing the Gnome lib import + * Save resume data periodically to help prevent data loss Plugins: * Improve the Blocklist plugin preferences page. diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py index e1392524d..ed9debc43 100644 --- a/deluge/core/torrentmanager.py +++ b/deluge/core/torrentmanager.py @@ -162,6 +162,7 @@ class TorrentManager(component.Component): # Save the state every 5 minutes self.save_state_timer = gobject.timeout_add(300000, self.save_state) + self.save_resume_data_timer = gobject.timeout_add(290000, self.save_resume_data) def stop(self): # Save state on shutdown @@ -552,6 +553,11 @@ class TorrentManager(component.Component): # We return True so that the timer thread will continue return True + def save_resume_data(self): + """Saves resume data for all the torrents""" + for torrent in self.torrents.values(): + torrent.write_fastresume() + def queue_top(self, torrent_id): """Queue torrent to top""" if self.torrents[torrent_id].get_queue_position() == 0: