запуск приложения erlang с параметром - PullRequest
6 голосов
/ 10 октября 2011

Есть ли способ передать параметры корневому супервизору приложения, кроме как с помощью файла конфигурации и приложения: get_env / 1?Например, с помощью командной строки?

я запускаю свое приложение как «erl -pa ebin -run appname», а затем связываюсь с ним по TCP / IP.TCP-порт, который он прослушивает, устанавливается в ebin / appname.app, в части env.Теперь я хотел бы сказать моему приложению, что нужно забыть об этом и прослушивать порт, который я бы дал в командной строке (что-то вроде «erl -pa ebin -run appname -env [{port, 1234}]»).Есть ли стандартизированный шаблон для этого?

Проблема в том, что я иногда решаю, что приложение должно запускаться на другом порте, не являющемся портом по умолчанию, для целей тестирования, и изменение файла .app каждый раз является просто болью в заднице.

С уважением, dijxtra

1 Ответ

9 голосов
/ 10 октября 2011

Да. Вы можете переопределить значение переменной окружения через командную строку, используя:

erl -appname key value

И получение параметра с помощью:

application:get_env(appname, key).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...