scrub old conversation batches

refs CORE-123

Change-Id: Id3181523ffbd574a1cbf4a92aad4999b2d09b3e8
Reviewed-on: https://gerrit.instructure.com/134279
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
This commit is contained in:
Cody Cutrer 2017-11-30 14:22:44 -07:00
parent f2d28e5045
commit c5a35fa38a
2 changed files with 43 additions and 0 deletions

View File

@ -143,6 +143,10 @@ Rails.configuration.after_initialize do
with_each_shard_by_database(DelayedMessageScrubber, :scrub)
end
Delayed::Periodic.cron 'ConversationBatchScrubber.scrub_all', '0 2 * * *' do
with_each_shard_by_database(ConversationBatchScrubber, :scrub)
end
Delayed::Periodic.cron 'BounceNotificationProcessor.process', '*/5 * * * *' do
DatabaseServer.send_in_each_region(
BounceNotificationProcessor,

View File

@ -0,0 +1,39 @@
#
# Copyright (C) 2017 - present Instructure, Inc.
#
# This file is part of Canvas.
#
# Canvas is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, version 3 of the License.
#
# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Public: Delete old (> 90 days) records from conversation_batches table.
class ConversationBatchScrubber < MessageScrubber
protected
def filter_attribute
'updated_at'
end
def klass
ConversationBatch.where(workflow_state: 'sent')
end
def limit_setting
'conversation_batch_scrubber_limit'
end
def limit_size
90
end
end