jobs: ignore deleted file in Virus Scan
We have errors in production where the job starts correctly (i.e. the blob exists), but `blob.open` fails with a `ActiveStorage::FileNotFound` error. When checking later in production, the blob has been deleted. This points to the blob (and the file) being deleted during the virus scan job. In that case, ignore the error (rather than retrying the job).
This commit is contained in:
parent
e9251de0f8
commit
292dc84eb4
1 changed files with 3 additions and 0 deletions
|
@ -1,7 +1,10 @@
|
||||||
class VirusScannerJob < ApplicationJob
|
class VirusScannerJob < ApplicationJob
|
||||||
queue_as :active_storage_analysis
|
queue_as :active_storage_analysis
|
||||||
|
|
||||||
|
# If by the time the job runs the blob has been deleted, ignore the error
|
||||||
discard_on ActiveRecord::RecordNotFound
|
discard_on ActiveRecord::RecordNotFound
|
||||||
|
# If the file is deleted during the scan, ignore the error
|
||||||
|
discard_on ActiveStorage::FileNotFoundError
|
||||||
|
|
||||||
def perform(blob)
|
def perform(blob)
|
||||||
metadata = extract_metadata_via_virus_scanner(blob)
|
metadata = extract_metadata_via_virus_scanner(blob)
|
||||||
|
|
Loading…
Reference in a new issue