* Add script to remove feature flag * Remove :feeds_import feature flag and RssReader and related classes * Change Feeds::ImportArticlesWorker signature to support Sidekiq Cron serialization * Replace RssReader::Assembler with Feeds::AssembleArticleMarkdown * Removing Assembler
24 lines
747 B
Ruby
24 lines
747 B
Ruby
module Feeds
|
|
class ImportArticlesWorker
|
|
include Sidekiq::Worker
|
|
|
|
sidekiq_options queue: :medium_priority, retry: 10
|
|
|
|
# NOTE: [@rhymes] we need to default earlier_than to `nil` because sidekiq-cron,
|
|
# by using YAML to define jobs arguments does not support datetimes evaluated
|
|
# at runtime
|
|
def perform(earlier_than = nil, user_ids = [])
|
|
if user_ids.present?
|
|
users = User.where(id: user_ids)
|
|
# we assume that forcing a single import should not take into account
|
|
# the last time a feed was fetched at
|
|
earlier_than = nil
|
|
else
|
|
users = nil
|
|
earlier_than ||= 4.hours.ago
|
|
end
|
|
|
|
::Feeds::Import.call(users: users, earlier_than: earlier_than)
|
|
end
|
|
end
|
|
end
|