mix run
Запускает текущее приложение и выполняет код.
mix run можно использовать для запуска зависимостей текущего приложения, самого приложения и, по желанию, выполнения некоторого кода в его контексте. Для долгоживущих систем это обычно делается с помощью параметра --no-halt.
mix run --no-halt
После запуска текущего приложения и его зависимостей вы можете выполнить скрипт в его контексте, передав имя файла:
mix run my_app_script.exs arg1 arg2 arg3
Код для выполнения также может быть передан в строчном виде с помощью параметра -e:
mix run -e "DbUtils.delete_old_records()" -- arg1 arg2 arg3
В обоих случаях аргументы командной строки для скрипта или выражения доступны в System.argv/0.
Перед выполнением каких-либо действий Mix скомпилирует текущее приложение, если это необходимо, если вы не передадите --no-compile.
Если по какой-либо причине приложение необходимо сконфигурировать перед запуском, можно использовать параметр --no-start, и тогда вы сами несёте ответственность за запуск всех приложений, используя функции, такие как Application.ensure_all_started/1. Для получения дополнительной информации об жизненном цикле приложения и динамической конфигурации приложений см. модуль Application.
Если вам нужно передать параметры исполняемому файлу Elixir одновременно с использованием mix run, это можно сделать следующим образом:
elixir --sname hello -S mix run --no-halt
Эта задача автоматически повторно включается, поэтому её можно вызывать несколько раз с разными аргументами.
Параметры командной строки
-
--config- загружает заданные файлы конфигурации -
--eval,-e- вычисляет заданный код -
--require,-r- выполняет заданный шаблон/файл -
--parallel,-p- делает все требуемые операции параллельными -
--preload-modules- предварительно загружает все модули, определённые в приложениях -
--no-compile- не компилирует, даже если файлы требуют компиляции -
--no-deps-check- не проверяет зависимости -
--no-archives-check- не проверяет архивы -
--no-halt- не останавливает систему после выполнения команды -
--no-mix-exs- позволяет команде работать, даже если нет mix.exs -
--no-start- не запускает приложения после компиляции -
--no-elixir-version-check- не проверяет версию Elixir из mix.exs
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.11.2/Mix.Tasks.Run.html