2017-05-05 10:23:01 +10:00
|
|
|
# frozen_string_literal: true
|
2017-06-04 08:11:15 +10:00
|
|
|
|
2017-05-05 10:23:01 +10:00
|
|
|
require 'sidekiq-scheduler'
|
2017-06-04 08:11:15 +10:00
|
|
|
require 'sidekiq-bulk'
|
2017-05-05 10:23:01 +10:00
|
|
|
|
|
|
|
class Scheduler::SubscriptionsScheduler
|
|
|
|
include Sidekiq::Worker
|
|
|
|
|
|
|
|
def perform
|
2017-05-06 21:05:03 +10:00
|
|
|
logger.info 'Queueing PuSH re-subscriptions'
|
2017-06-04 08:11:15 +10:00
|
|
|
Pubsubhubbub::SubscribeWorker.push_bulk(expiring_accounts.pluck(:id))
|
2017-05-05 10:23:01 +10:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def expiring_accounts
|
2017-08-12 10:54:54 +10:00
|
|
|
Account.where(protocol: :ostatus).expiring(1.day.from_now).partitioned
|
2017-05-05 10:23:01 +10:00
|
|
|
end
|
|
|
|
end
|