Spec-Zone.ru › Elixir 1.12

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 - делает все require параллельными
  • --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.12.0/Mix.Tasks.Run.html

Spec-Zone.ru

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