2016-12-05 3 views
0

Я ищу с использованием пакета Amnesia: https://github.com/meh/amnesiaElixir + Phoenix: Где я могу поместить инициализаторы приложений?

Одним из требований в дополнение к определению моей базы данных/схемы запуска линии Amnesia.start. Я хотел бы сделать это в инициализаторе. Исходя из Rails, это, должно быть, входило бы в config/intiailizers/

Где я могу поместить эту строку в приложение Phoenix?

+0

Вы можете добавить 'amnesia' в свою прикладную функцию в' mix.exs'. Итак, Amnesia начнется с вашего приложения – TheAnh

+0

oooo, что это делает? это просто называет '[[имя пакета]]. start' под капотом? – Edmund

+2

Да, точно!. Вы можете больше узнать о проекте микширования здесь: http://elixir-lang.org/docs/stable/mix/Mix.html – TheAnh

ответ

0

Вы всегда должны указывать имя приложения в списке приложений в файле mix.exs, даже если в пакете нет кода запуска. Если вы используете пакет, такой как exrm или distillery, чтобы создать производственный выпуск, вам понадобятся перечисленные вами пакеты, чтобы он знал, как их создать в релизе.

Кроме того, если вы хотите запустить процессы на основе otp, которые создаются, вам необходимо запустить их в файл приложения lib/my_project.ex. Вы должны увидеть там какой-нибудь шаблон, например worker(MyProject.MyAwsomeService, []).