Progress on DMs
Progress on DMs
This commit is contained in:
12
app/workers/delete_chat_message_worker.rb
Normal file
12
app/workers/delete_chat_message_worker.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class DeleteChatMessageWorker
|
||||
include Sidekiq::Worker
|
||||
|
||||
sidekiq_options unique: :until_executed
|
||||
|
||||
def perform(chat_message_id)
|
||||
return if chat_message_id.nil?
|
||||
DeleteChatMessageService.new.call(ChatMessage.find(chat_message_id))
|
||||
end
|
||||
end
|
||||
17
app/workers/scheduler/expiring_chat_messages_scheduler.rb
Normal file
17
app/workers/scheduler/expiring_chat_messages_scheduler.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Scheduler::ExpiringChatMessagesScheduler
|
||||
include Sidekiq::Worker
|
||||
|
||||
def perform
|
||||
expired_chat_messages.find_each do |chat_message|
|
||||
DeleteChatMessageWorker.perform_async(chat_message.id)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def expired_chat_messages
|
||||
ChatMessage.unscoped.expired
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user