uploads: mark uploads as failed if they're stuck processing for more than 4 hours.

This commit is contained in:
evazion
2022-11-20 23:34:18 -06:00
parent 570d6a9d01
commit ba1cf14c7e
6 changed files with 47 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ class UploadMediaAsset < ApplicationRecord
scope :unfinished, -> { where(status: %w[pending processing]) }
scope :finished, -> { where(status: %w[active failed]) }
scope :expired, -> { unfinished.where(created_at: ..4.hours.ago) }
def self.visible(user)
if user.is_admin?
@@ -36,6 +37,10 @@ class UploadMediaAsset < ApplicationRecord
end
end
def self.prune!
expired.update_all(status: :failed, error: "Stuck processing for more than 4 hours")
end
def self.search(params, current_user)
q = search_attributes(params, [:id, :created_at, :updated_at, :status, :source_url, :page_url, :error, :upload, :media_asset, :post], current_user: current_user)