スクリプトを cron ジョブで実行したいと考えています。このスクリプトは、大変な作業を行う複数の Que ジョブを作成します。new relic で各ジョブのアクティビティを追跡するにはどうすればよいですか?
cronjobs をトレースする方法に関するこの投稿https://blog.newrelic.com/2012/05/30/using-new-relic-to-monitor-ruby-background-tasks/を読みましたが、Que ジョブが管理されているため独自のワーカー (私は puma を使用しています) では、トレースされません。
これは、それを実行しようとするサンプル スクリプトです (ただし、何もトレースしません)。
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
ありがとうございました