-
Notifications
You must be signed in to change notification settings - Fork 1
Rails Setup
dwkoogt edited this page Apr 22, 2018
·
7 revisions
Rails defines two default queues; default
for ActiveJob and mailers
for ActionMailer.
Typical worker for ActiveJob will look like this:
class ActiveJobWorker
include PikaQue::Worker
from_queue 'active-job'
config codec: PikaQue::Codecs::RAILS
def perform(msg)
ActiveJob::Base.execute msg
ack!
end
end
PikaQue will create workers similar to above for queue names defined in config/pika_que.yml
.
processors:
- workers:
- queue: mailers
handler_class: PikaQue::Handlers::RetryHandler
handler_options:
retry_mode: :const
- workers:
- queue: default
- queue: rocket
handler_class: PikaQue::Handlers::RetryHandler
handler_options:
retry_mode: :exp
- workers:
- worker: ActiveJobWorker
handler_class: PikaQue::Handlers::ErrorHandler
To configure PikaQue, create a pika_que.rb in:
config/initializers
Settings can looks like:
# pika_que.rb
PikaQue.configure :amqp => 'amqp://guest:guest@localhost:5672',
:vhost => '/'
# see PikaQue::Configuration for more options
PikaQue::Logging.logger = Rails.logger