Spec-Zone.ru › Elixir 1.11

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API