2013-09-09 5 views
1

У меня есть рабочий, который делегирует работу к другому классу, как это:журнал в не sidekiq класса

class SynJob 
    include Sidekiq::Worker 
    sidekiq_options queue: :sync 

    def perform(user_id) 
    OtherClass.new(blah, blah, blah) 
    end 
end 

class OtherClass 
    def initialize 
    puts "we are in OtherClass" 
    end 
end 

Мой вопрос, как я могу войти в стандартный вывод из OtherClass.

Мои высказывания puts не отображаются в журнале heroku stdout.

+0

Вы проверили журнал «рабочий»? 'heroku log --ps worker'? – Kashyap

ответ

0

Либеральный ответ на ваш вопрос заключается в использовании puts или других API-интерфейсов Ruby для записи на стандартный вывод. Вы можете называть это как в своем SynJob, так и в коде OtherClass, и он будет выполнять то же самое, записывая на стандартный рабочий процесс sidekiq.

Однако это, вероятно, не то, что вы хотите сделать. Если это приложение Rails, вы, вероятно, хотите, чтобы написать к регистратору Rails, которые должны быть доступны как в вашем работнике и в другом коде:

Rails.logger.info "I'm a debug message" 

Это будет отображаться в соответствующем журнале как локально, так и при работе развернуты на Хереку.

+0

Это приложение синатра. К сожалению. – dagda1

Смежные вопросы