From 5b0c099cebaad0465380458d09aeeec904ae6691 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Mon, 4 Mar 2013 12:04:00 +0100 Subject: rake db:force_now (does a backup without queuing). --- app/models/backup_job.rb | 9 +++++++-- lib/tasks/backup.rake | 6 ++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/models/backup_job.rb b/app/models/backup_job.rb index a04f6c0..48dd27e 100644 --- a/app/models/backup_job.rb +++ b/app/models/backup_job.rb @@ -12,12 +12,17 @@ class BackupJob < ActiveRecord::Base private def set_state_to_queued - self.state = 'queued' + self.state ||= 'queued' self.started_at = Time.now end def initiate_backup - self.delay.make_a_backup + if self.state == 'force now' + self.state = 'queued' + self.make_a_backup + else + self.delay.make_a_backup + end end def make_a_backup diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index f08bb39..51fd2f2 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -10,6 +10,12 @@ namespace :backup do echo "BackupJob ID: #{backup_job.id}" end + desc "Do a backup. Now!" + task :force_now => :environment do + backup_job = BackupJob.create(:state => 'force now') + echo "BackupJob ID: #{backup_job.id}" + end + desc "Restore the system" task :restore => :environment do # This task takes the first RestoreJob to restore the system. -- cgit v1.2.3