Вопросы по теме 'otp'

Когда использовать gen_server в приложениях Erlang / OTP
Прочитав книгу Джо Армстронга и просмотрев скринкасты Кевина Смита, я создал простое приложение OTP, состоящее из одного gen_server и одного супервизора, объединенных в одно приложение OTP. Теперь я смотрю на mochiweb и создал образец проекта...
2244 просмотров
schedule 28.03.2024

Запуск приложения Erlang на сервере Windows
У меня есть приложение Erlang, развернутое на сервере с Windows Server 2008. Как я это делаю: Скопируйте папку приложения в каталог Erlang lib . Откройте командную строку (cmd). Выполните erl . Выполните application:start(app_name) в...
1323 просмотров

OTP/XOR Взлом двух зашифрованных текстов с одним и тем же ключом
Как я могу взломать два шифротекста, в которых дважды использовался один и тот же ключ? Например, plaintext1 использует ключ "abcdefg" , а plaintext2 использует ключ "abcdefg" . Я знаю, что ciphertext2 ^ ciphertext1 равно plaintext1 ^...
4370 просмотров
schedule 19.01.2023

Получение Ping с Java на Erlang
Недавно я опубликовал аналогичный вопрос, связанный с Erlang-Java, под названием " Java to Erlang Messages ". Тогда я добился некоторого прогресса, и у меня появилось стабильное соединение между двумя языками (благодаря более старому вопросу,...
304 просмотров
schedule 19.08.2023

Как создать и использовать (или смоделировать) индексы с несколькими столбцами в Erlang Mnesia
Я просмотрел документацию Mnesia и 3 популярные книги по Erlang. Кажется, что можно создавать и использовать только первичные и вторичные индексы с одним столбцом. Или, может быть, это просто то, что охватывают примеры? Если я создам отдельный...
1514 просмотров
schedule 30.10.2022

Erlang Динамический супервизор запускает gen_server
У меня есть супервизор root, который создает другого супервизора: start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []). init([]) -> RestartStrategy = {one_for_one, 5, 600}, ListenerSup =...
4698 просмотров
schedule 09.04.2022

Обработка очистки состояния gen_server
У меня запущен gen_server , который должен очищать свое состояние всякий раз, когда он нормально останавливается или неожиданно падает. Очистка в основном состоит в удалении нескольких файлов. В этот момент, когда происходит сбой gen_server или...
2394 просмотров
schedule 09.10.2023

Зачем использовать OTP с erlang?
Как сказано в вопросе: какие преимущества дает использование принципов проектирования OTP при разработке с помощью erlang? (Я разрабатываю сервер, который будет просто получать команды и отправлять ответы)
1842 просмотров
schedule 25.02.2023

генерировать серверные синхронные и асинхронные вызовы
Предположим, у меня есть gen_server, который обрабатывает только асинхронные вызовы (таким образом, реализуется только handle_cast), должен ли я сохранить handle_call и заставить его возвращать только общее значение ok, или я должен удалить эту часть...
346 просмотров
schedule 22.09.2022

Обработчик событий с ограничением скорости в erlang/OTP
У меня есть источник данных, который генерирует точки с потенциально высокой скоростью, и я хотел бы выполнить длительную операцию с каждой точкой; но я также хотел бы, чтобы система изящно деградировала, когда она становится перегруженной,...
813 просмотров
schedule 12.03.2023

Создание коммерческой системы: чистый Erlang или Erlang / OTP?
Я собираюсь создать систему на Erlang (моя проблема может быть решена лучше при использовании нескольких процессоров), и я бегло просмотрел: Выучите Erlang ; Erlang / OTP в действии Программирование на Erlang (Армстронг);...
1732 просмотров
schedule 15.01.2023

Супервайзер Erlang: как проверить, все ли работники ответили
У меня есть руководитель с N рабочими процессами. Как обычно, супервизор может отправить сообщение рабочему процессу, и есть handle_cast , который отправляет ответ от рабочего супервизору. Как я могу проверить, что ровно все N работников ответили...
950 просмотров
schedule 11.10.2023

Mnesia Фрагментация и репликация: результирующая доступность и надежность
Следуя решениям вопроса, который я недавно задавал о фрагментации мнений , у меня все еще есть ряд проблем. Рассмотрим следующий сценарий (вопрос, который я задаю, основан на том, что следует ниже): У вас есть управляемое данными...
1534 просмотров
schedule 08.12.2022

Как вы представляете многопроцессорные логические сущности в OTP?
Представьте, что у нас есть следующая проблема: У нас есть http-клиенты, которые выполняют запросы к нашему программному обеспечению. Итак, у нас есть один процесс, который всегда доступен для них и хранит их запросы в очереди. Нам нужно...
172 просмотров
schedule 29.04.2024

Erlang gen_server с длительными задачами
Добрый день, У меня есть процесс gen_server , который периодически выполняет некоторые длительные задачи по обновлению состояния в handle_info : handle_info(trigger, State) -> NewState = some_long_running_task(),...
4148 просмотров
schedule 17.07.2022

Супервайзер Erlang. Перезапуск процесса, если он не удался несколько раз, откажитесь и отправьте сообщение
У меня есть несколько gen_server рабочих, которые периодически запрашивают некоторую информацию от аппаратных датчиков. Датчики могут временно выйти из строя, это нормально. Если датчик выходит из строя, рабочий завершает работу с исключением....
1217 просмотров
schedule 28.08.2022

Обработка тайм-аутов в OTP
У меня есть приложение, определенное {application, ps_barcode, [{description, "barcode image generator based on ps-barcode"}, {vsn, "1.0"}, {modules, [ps_barcode_app, ps_barcode_supervisor, barcode_data, wand, ps_bc]}, {registered, [ps_bc,...
1175 просмотров
schedule 29.09.2022

Mochiweb: включение и компиляция других библиотек
Мое приложение использует Mochiweb. Я заметил, что файлы Mochiweb находятся в каталоге myapp/deps/mochiweb , и rebar компилирует их, когда я запускаю make в каталоге myapp . Я хотел добавить ibrowse , чтобы написать несколько тестов,...
463 просмотров
schedule 10.08.2022

Мой супервизор падает, когда я пытаюсь запустить его из eshell?
Я очень новичок в OTP, я пытаюсь создать простой пример, чтобы понять поведение супервайзера: Вот простой инкрементный сервер -module( inc_serv ). -behaviour( gen_server ). -export( [ start/0, inc/1, stop/0 ] ). -export( [ init/1,...
2056 просмотров
schedule 29.07.2023

Интервал перезапуска супервизора Erlang
У меня есть руководитель со стратегией перезапуска one_for_one . Можно ли установить временной интервал между перезапуском дочернего процесса? Например, удаленная база данных раздавлена, и я хочу подождать 10 секунд между попытками восстановления...
1428 просмотров
schedule 19.10.2022