otp
Предположим, что мы реализуем Pregel с помощью Erlang. Зачем нам вообще нужны суперстепы? Не лучше ли просто отправлять сообщения от одного супервизора процессам, представляющим узлы? Они могут просто применить функцию вычисления к себе, отправить сообщения друг другу, а затем отправить сообщение "готово" су...
У меня есть приложение OTP, состоящее из одного супервайзера, контролирующего небольшое количество gen_servers. Типичная дочерняя спецификация выглядит следующим образом: {my_server, {my_server, start_link, [123]}, permanent, 5000, worker, [my_server]} Пока никаких проблем. Теперь я хочу доба...
У меня есть фрагмент кода erlang, который должен считывать некоторые значения из БД и должен поддерживать пару БД. Я хотел, чтобы мой код каким-то образом не зависел от БД, поэтому я реализовал два разных gen_server, которые регистрируют оба с одним и тем же атомом (db_handler). Я решаю, какую версию следует ...
У меня есть модуль, где я храню некоторые данные в таблице ETS Теперь я пытаюсь фильтровать данные, повторяя таблицу ETS, но всегда получаю пустой [список]. (это соответствие каждый раз-соответствие ('$end_of_table', Acc) - > Acc;) -module(t). -export([matching/0]). matching() -> matching(ets:first(...
У меня есть приложение Erlang, развернутое на сервере с Windows Server 2008. Как я это делаю: скопируйте папку приложения в каталог Erlanglib . Откройте командную строку (cmd). Выполнить erl . выполнить приложение:start(app_name) в оболочке Erlang. Есть ли более эффективные подходы для запуска приложени...
Я впервые начинаю погружаться в Erlang,и OTP высоко ценится любителями и критиками как золотой стандарт для высокодоступной распределенной обработки. Учитывая, что OTP существует уже несколько десятилетий и открыто документируется, почему другие языки, поддерживающие облегченные потоки/процессы, не приняли с...
У меня есть gen_server, который при запуске пытается запустить определенное количество дочерних процессов (обычно 10-20) под супервизором в дереве супервизии. Обратный вызов init gen_server вызывает supervisor:start_child/2 для каждого необходимого дочернего процесса. Вызов supervisor:start_child/2 является с...
Я программирую простое приложение в Elixir, используя Plug and Cowboy and mix. После выполнения: $ iex -S mix Приложение запускается. Если я выполню iex(1)> Application.start(:web) {:error, {:already_started, :web}} Я получаю ожидаемый результат. Однако, когда я пытаюсь остановить приложение, испол...
этот вопрос находится в контексте Луча VM и возможностей, которые он предоставляет, а не в общем контексте того, что может сделать полный язык Тьюринга. Я хочу потратить некоторое время на изучение чистого Эрланга или эликсира. Я получаю основные различия между ними, и я склоняюсь к эликсиру из-за макросов, л...