Skip to content
Snippets Groups Projects
mastodon.rake 911 B
Newer Older
  • Learn to ignore specific revisions
  • Eugen Rochko's avatar
    Eugen Rochko committed
    namespace :mastodon do
      namespace :media do
        desc 'Removes media attachments that have not been assigned to any status for longer than a day'
        task clear: :environment do
          MediaAttachment.where(status_id: nil).where('created_at < ?', 1.day.ago).find_each do |m|
            m.destroy
          end
        end
      end
    
      namespace :push do
        desc 'Unsubscribes from PuSH updates of feeds nobody follows locally'
        task clear: :environment do
          Account.where('(select count(f.id) from follows as f where f.target_account_id = accounts.id) = 0').where.not(domain: nil).find_each do |a|
            a.subscription('').unsubscribe
            a.update!(verify_token: '', secret: '')
          end
        end
      end
    
      namespace :feeds do
        desc 'Clears all timelines so that they would be regenerated on next hit'
        task clear: :environment do
          $redis.keys('feed:*').each { |key| $redis.del(key) }
        end
      end
    end