feat: new background work process

This removes all previous dependencies on RabbitMQ and the need to run separate cron and requeueing processes.
This commit is contained in:
Adam Cooke
2024-02-23 22:51:33 +00:00
committed by Adam Cooke
parent 044058d0f1
commit dc8e895bfe
69 changed files with 1675 additions and 1186 deletions
@@ -0,0 +1,16 @@
# frozen_string_literal: true
class ExpireHeldMessagesScheduledTask < ApplicationScheduledTask
def call
Server.all.each do |server|
messages = server.message_db.messages(where: {
status: "Held",
hold_expiry: { less_than: Time.now.to_f }
})
messages.each(&:cancel_hold)
end
end
end