1
後
我的Rails應用程序有lib/tasks/*
結束語rake任務與前/鉤
當這些任務運行在定義了幾種定製耙任務,我想輸出日誌START
和STOP
消息。
對個人rake任務,我可以這樣做
namespace :foo do
task :bar, [:some_arg] => :some_pre_requisite do |t, args|
Rails.logger.info "Rake START - {task: \"#{t}\", args: #{args}}"
# Do stuff
Rails.logger.info "Rake STOP - {task: \"#{t}\", args: #{args}}"
end
end
這將運行耙子任務需要一個參數:some_arg
,運行的先決條件任務(:some_pre_requisite
),然後運行任務。它會在我的任務已經啓動並停止之前和之後輸出日誌語句。
如果我有幾十個任務,這真的重複。我喜歡在
- 打印
START
聲明瞭一些其他方法來「包裝」 rake任務 - 所調用/收益/運行實際rake任務叫做
- 打印的
STOP
聲明
我知道我可以將第一張印刷品設置爲先決條件,然後將第二張印刷品作爲單獨的增強型任務設置,但是感覺混亂。它將兩個打印語句存儲在不同的位置,另外我必須單獨手動enhance
每個任務。
有關如何實現這一目標的更好的想法?
謝謝!