Редис паб / саб на рельсах

ПослеRedis Pub / Sub

это работает нормально, и я могу публиковать сообщения в любом классе, используя

$redis.publish 'channel', { object: @object.id }

с помощьюredis-cli > MONITORЯ могу убедиться, что этот запрос был опубликован правильно

[0 127.0.0.1:64192] "publish" "channel" "{:object=>\"5331d541f4eec77185000003\" }"

проблема начинается, когда я добавляю подписчикаблок на этот канал вдругой класс (класс слушателя) как следующее

class OtherClass
  $redis.subscribe('channel') do |payload|
    p payload
  end
end

вredis-cli > MONITOR, показывает также, что слушатель подписан правильно

[0 127.0.0.1:52930] "subscribe" "channel"

проблема в том, что когда я добавляю класс слушателя подписчика в то же приложение rails ... он перестает работать, потому чтоOtherClass слушает сервер redis и останавливает выполнение любого другого кода ... он просто сидит и слушает.

так есть ли способ сделать шину обмена сообщениями с Redis в том же приложении rails ... так чтособытия публикуются из некоторых классов или сервисных объектов, и есть прослушиватели для определенных каналов, которые будут действовать при получении событий в фоновом режиме.

я знаю, что мог бы использовать sidekiq или любого другого фонового работника, чтобы сделать эту работу ... но через некоторое время фоновые работники стали грязными и непригодными для работы.

Ответы на вопрос(1)

Ваш ответ на вопрос