Redirect dead bookmarks to archive.org
This commit is contained in:
@@ -3,7 +3,7 @@ require "que"
|
||||
|
||||
module Adamantium
|
||||
module Jobs
|
||||
class RemoveDeadBookmarks < Que::Job
|
||||
class ArchiveDeadBookmarks < Que::Job
|
||||
def run
|
||||
bookmark_repo = Admin::Container["repos.bookmark_repo"]
|
||||
|
||||
@@ -12,7 +12,7 @@ module Adamantium
|
||||
bookmarks.each do |bookmark|
|
||||
code = HTTParty.get(bookmark.url, follow_redirects: false).code
|
||||
if code >= 400
|
||||
bookmark_repo.archive(id: bookmark.id)
|
||||
bookmark_repo.update(bookmark.id, {url: "https://web.archive.org/web/*/#{bookmark.url}"})
|
||||
end
|
||||
end
|
||||
end
|
@@ -8,10 +8,10 @@ module Admin
|
||||
Que.connection = Adamantium::Container["persistence.db"]
|
||||
|
||||
res.status = 200
|
||||
if Que.job_stats.any? { |job| job[:job_class] == Adamantium::Jobs::RemoveDeadBookmarks.name }
|
||||
if Que.job_stats.any? { |job| job[:job_class] == Adamantium::Jobs::ArchiveDeadBookmarks.name }
|
||||
res.body = "Job already queued"
|
||||
else
|
||||
Adamantium::Jobs::RemoveDeadBookmarks.enqueue
|
||||
Adamantium::Jobs::ArchiveDeadBookmarks.enqueue
|
||||
res.body = "#{Que.job_stats.count} job queued"
|
||||
end
|
||||
end
|
||||
|
@@ -20,7 +20,7 @@ module Admin
|
||||
|
||||
expose :running_jobs do
|
||||
Que.connection = Adamantium::Container["persistence.db"]
|
||||
Que.job_stats.any? { |job| job[:job_class] == Adamantium::Jobs::RemoveDeadBookmarks.name }
|
||||
Que.job_stats.any? { |job| job[:job_class] == Adamantium::Jobs::ArchiveDeadBookmarks.name }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user