注: 自定義rake任務檔案寫在/lib/tasks/**.rake中
示例代碼:
namespace :connectivity do
desc 'login'
task(login: :environment) do
Connectivity.login
p "login time: #{Time.now}"
end
end
代碼解釋:
1、:connectivity是任務的命名空間
2、desc ‘login’任務的文字解釋
3、:environment将會告知rake在執行login任務之前加載應用程式的完整環境。如果需要使用應用程式
中的代碼就需要加上,當然要使用什麼環境需要在調用時加上RAILS_ENV=**。
執行rake任務:
rake RAILS_ENV=production connectivity:login #指定rake執行的環境為production
擴充:
task :a do
puts "a"
end
task :b do
puts "b"
end
task :c do
puts "c"
end
task :ready => [:a,:b,:c] do
puts "ready"
end
#當執行ready任務時,将會先按順序執行a、b、c任務,完了之後執行ready任務
#執行rake ready,輸出結果為:
#a
#b
#c
#ready