2016-10-06 4 views
0

크론 작업에서 스크립트를 실행하고 싶습니다. 이 스크립트는 열심히하는 여러 개의 Que 작업을 만듭니다. 새로운 유물에서 각 직업의 활동을 어떻게 추적 할 수 있습니까?newrelic에서 Que ​​작업을 추적하는 방법은 무엇입니까?

cronjobs를 추적하는 방법에 대해서는이 게시물 https://blog.newrelic.com/2012/05/30/using-new-relic-to-monitor-ruby-background-tasks/을 읽었지 만 Que 작업은 자체 작업자 (푸마를 사용하고 있습니다)에서 관리되기 때문에 추적되지 않습니다.

은 (하지만 아무것도 추적하지 않습니다) 그것을 시도 예제 스크립트입니다

class NewrelicTest 

    def run 
    Order.all.find_each do |order| 
     Job.enqueue(order.id) 
    end 
    end 

    class Job < Que::Job 
    include NewRelic::Agent::Instrumentation::ControllerInstrumentation 

    def run(id) 
     order = Order.find(id) 
     do_heavy_work_here(order) 
    end 

    add_transaction_tracer :run, :category => "OtherTransaction/cronjobs" 
    end 
end 

NewRelic::Agent.manual_start :app_name => "Background Jobs" 
NewrelicTest.new.run 

답변

0

스크립트가 나에게 좋아 보인다 감사합니다, 그러나, 새로운 유물은 '아무튼 상자에서 즉시 지원하십시오.

적어도 자신의 문서에 나열된 공식적으로 지원되는 프레임 워크의 목록에는없는 것 같습니다. 그러면 왜 필요한 데이터를 얻지 못하는지 설명 할 수 있습니다.

필자는이를 달성하기 위해 "사용자 지정 계측"의 가능성을 확실히 조사 할 것입니다. 새로운 유물의 루비 에이전트 API가 추가 메트릭을/수집 추적 사용자 정의 할 수 있습니다 :

https://docs.newrelic.com/docs/agents/ruby-agent/features/ruby-custom-instrumentation

가 나는 또한 (아래 링크) 새로운 유물에 의해 지원되지 않는 배경 프레임 워크를 사용할 때 시작하기에 좋은 장소입니다 추가 할 것입니다 : 가까이를 얻을 수

https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/monitoring-ruby-background-processes-daemons

희망.