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: