chore: Reorganize Sidekiq Queues (#6976)

- Rearrange and reprioritize current sidekiq queues
- Trim the unnecessary queues

ref: https://linear.app/chatwoot/issue/CW-1480/chore-run-all-sidekiq-jobs-async
This commit is contained in:
Sojan Jose
2023-05-04 15:44:16 +05:30
committed by GitHub
parent b081fe08b8
commit 85e57c2e94
23 changed files with 38 additions and 39 deletions

View File

@@ -1,5 +1,5 @@
class ActionCableBroadcastJob < ApplicationJob
queue_as :default
queue_as :critical
def perform(members, event_name, data)
members.each do |member|

View File

@@ -1,5 +1,5 @@
class AgentBots::CsmlJob < ApplicationJob
queue_as :bots
queue_as :high
def perform(event, agent_bot, message)
event_data = { message: message }

View File

@@ -1,3 +1,3 @@
class AgentBots::WebhookJob < WebhookJob
queue_as :bots
queue_as :high
end

View File

@@ -1,5 +1,5 @@
class Agents::DestroyJob < ApplicationJob
queue_as :default
queue_as :low
def perform(account, user)
ActiveRecord::Base.transaction do

View File

@@ -1,5 +1,5 @@
class Avatar::AvatarFromUrlJob < ApplicationJob
queue_as :default
queue_as :low
def perform(avatarable, avatar_url)
return unless avatarable.respond_to?(:avatar)

View File

@@ -1,5 +1,5 @@
class Conversations::ActivityMessageJob < ApplicationJob
queue_as :default
queue_as :high
def perform(conversation, message_params)
conversation.messages.create!(message_params)

View File

@@ -1,5 +1,5 @@
class DeleteObjectJob < ApplicationJob
queue_as :default
queue_as :low
def perform(object)
object.destroy!

View File

@@ -1,5 +1,5 @@
class EventDispatcherJob < ApplicationJob
queue_as :events
queue_as :critical
def perform(event_name, timestamp, data)
Rails.configuration.dispatcher.async_dispatcher.publish_event(event_name, timestamp, data)

View File

@@ -1,5 +1,5 @@
class HookJob < ApplicationJob
queue_as :integrations
queue_as :medium
def perform(hook, event_name, event_data = {})
case hook.app_id

View File

@@ -1,5 +1,5 @@
class Inboxes::FetchImapEmailInboxesJob < ApplicationJob
queue_as :low
queue_as :scheduled_jobs
def perform
Inbox.where(channel_type: 'Channel::Email').all.find_each(batch_size: 100) do |inbox|

View File

@@ -1,7 +1,7 @@
require 'net/imap'
class Inboxes::FetchImapEmailsJob < ApplicationJob
queue_as :low
queue_as :scheduled_jobs
def perform(channel)
return unless should_fetch_email?(channel)

View File

@@ -1,5 +1,5 @@
class WebhookJob < ApplicationJob
queue_as :webhooks
queue_as :medium
def perform(url, payload)
Webhooks::Trigger.execute(url, payload)

View File

@@ -40,10 +40,10 @@ class CustomAttributeDefinition < ApplicationRecord
private
def sync_widget_pre_chat_custom_fields
::Inboxes::SyncWidgetPreChatCustomFieldsJob.perform_now(account, attribute_key)
::Inboxes::SyncWidgetPreChatCustomFieldsJob.perform_later(account, attribute_key)
end
def update_widget_pre_chat_custom_fields
::Inboxes::UpdateWidgetPreChatCustomFieldsJob.perform_now(account, self)
::Inboxes::UpdateWidgetPreChatCustomFieldsJob.perform_later(account, self)
end
end