namespace :retro do desc 'Cleans up expired visitor sessions' task :clean_sessions => :environment do period = RetroCM[:general][:basic][:session_expiration] || 360 CGI::Session::ActiveRecordStore::Session.delete_all( ["updated_at < ?", period.minutes.ago ] ) end desc 'Process mail queue, deliver outgoing emails' task :process_mails => :environment do QueuedMail.deliver_all end desc 'Synchronize the changes in your repositories with Retrospectiva' task :sync_repositories => :environment do Repository::Subversion.find(:all).each do |repos| if repos.use_svnsync? svnsync = RetroCM[:repositories][:synchronization][:svnsync_path] system("#{svnsync} sync file://#{repos.path} #{repos.svnsync_args}") end repos.sync_changesets rescue nil end end end