Add status expiration
This commit is contained in:
parent
57c12e4fad
commit
16079b4db5
11 changed files with 120 additions and 1 deletions
|
@ -7,6 +7,7 @@ class Scheduler::ScheduledStatusesScheduler
|
|||
|
||||
def perform
|
||||
publish_scheduled_statuses!
|
||||
unpublish_expired_statuses!
|
||||
publish_scheduled_announcements!
|
||||
unpublish_expired_announcements!
|
||||
end
|
||||
|
@ -19,10 +20,20 @@ class Scheduler::ScheduledStatusesScheduler
|
|||
end
|
||||
end
|
||||
|
||||
def unpublish_expired_statuses!
|
||||
expired_statuses.find_each do |expired_status|
|
||||
RemoveExpiredStatusWorker.perform_at(expired_status.scheduled_at, expired_status.id)
|
||||
end
|
||||
end
|
||||
|
||||
def due_statuses
|
||||
ScheduledStatus.where('scheduled_at <= ?', Time.now.utc + PostStatusService::MIN_SCHEDULE_OFFSET)
|
||||
end
|
||||
|
||||
def expired_statuses
|
||||
ScheduledExpirationStatus.where('scheduled_at <= ?', Time.now.utc + PostStatusService::MIN_SCHEDULE_OFFSET)
|
||||
end
|
||||
|
||||
def publish_scheduled_announcements!
|
||||
due_announcements.find_each do |announcement|
|
||||
PublishScheduledAnnouncementWorker.perform_at(announcement.scheduled_at, announcement.id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue