Bunun için herhangi bir dahili işlevselliği var sanmıyorum, ama bunu başarmak için Mix.Task.run/2
kullanabilirsiniz:
defmodule Mix.Tasks.SeedUsers do
def run(_args) do
IO.puts "started seed_users"
Mix.Task.run "seed_companies"
Mix.Task.run "seed_companies"
IO.puts "completed seed_users"
end
end
defmodule Mix.Tasks.SeedCompanies do
def run(_args) do
IO.puts "started seed_companies"
IO.puts "completed seed_companies"
end
end
Örnek çalıştırın: Mix.Task.run/2
değil
$ mix seed_users
started seed_users
started seed_companies
completed seed_companies
completed seed_users
Not olduğunu Eğer bir kez çalıştırılmışsa, bu görevi çalıştırın, yani yukarıdaki örnekte olduğu gibi Mix.Task.run/2
iki kere çağırırsanız, sadece bir kez çalıştırılır. Bir görevi bir defadan fazla çalıştırmak isterseniz, her çalışmadan sonra Mix.Task.reenable/1
numaralı telefonu aramanız gerekir.
Sanırım her modülde 'mix.Task' kullanamazsınız – AbM