uploads: mark uploads as failed if they're stuck processing for more than 4 hours.
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user