2014-05-15 5 views
1

J'ai lu beaucoup mais je suis confus.Rake Tâches de tâches

J'essaie d'ordonner l'exécution de mes tâches Rake mais je n'ai pas encore de chance. La tâche ressemble à ceci:

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 

Comment puis-je ordonner l'exécution des invocations appelées? Dois-je l'appeler à partir des tâches initiales?

+0

Combien de tâches sont là pour chaque jeu? –

+0

Chaque appel, appelle seulement une tâche .. –

Répondre

1

Oui, vous pouvez définir l'ordre lors de leur appel.

Avec un maximum de 3 dans chaque jeu, je le ferais de cette façon:

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

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

Hey Seven, désolé mais j'ai mal compris votre commentaire, chaque invocation appelle une tâche .. fondamentalement 'Rake :: Task ['import1']. Invoke' invoque la tâche': import1'. Toujours le même ? –

+1

Oui, si vous voulez invoquer les tâches ci-dessus, c'est un bon moyen de le faire. –

+0

Pourquoi sauvegardez-vous les noms des tâches en tant que symboles, puis les convertissez en chaînes? Pourrait aussi bien les faire des ficelles en premier lieu. – Mischa

Questions connexes