2014-05-15 90 views
1

我讀過很多,但我很困惑。訂單Rake任務

我試圖命令執行我的Rake任務,但還沒有任何運氣。該任務如下所示:

task :populate do 

    # 1st in Order 
    Rake::Task['import0'].invoke 
    Rake::Task['import00'].invoke 

    # 2nd in Order 
    Rake::Task['import000'].invoke 
    Rake::Task['import0000'].invoke 

    # 3rd in Order 
    Rake::Task['import000000'].invoke 

    # 4th in Order 
    Rake::Task['import1'].invoke 
    Rake::Task['import2'].invoke 
    Rake::Task['import3'].invoke 

    # 5th in Order 
    Rake::Task['importA'].invoke 
    Rake::Task['importB'].invoke 
    Rake::Task['importC'].invoke 

end 

我該如何命令執行被調用的調用。我是否必須從初始任務本身調用它?

+0

多少任務在那裏爲每一套? –

+0

每次調用,只調用1個任務.. –

回答

1

是的,您可以設置它們被調用時的順序。

隨着每組最多3個,我會做這種方式:

TASKS = [ :import0, :import00, :import000, :import0000, :import000000, 
      :import1, :import2, :import3, 
      :importA, :importB, :importC ] 

TASKS.each do |t| 
    Rake::Task[t.to_s].invoke 
end 
+0

嘿七,很抱歉,我誤解了你的評論,每個調用調用一個任務..基本上'Rake :: Task ['import1']。invoke'調用':import1任務'。還是一樣 ? –

+1

是的,如果你想調用上述任務,這是一個很好的方法。 –

+0

爲什麼您首先將任務名稱保存爲符號,然後將它們轉換回字符串?不妨先讓他們串起來。 – Mischa