Вопросы по теме 'gen-server'

gen_server закрывает прослушивающий сокет
Что я пытаюсь сделать, так это заставить процесс gen_server принять нового клиента и немедленно создать новый дочерний элемент для обработки следующего. Проблема, которую я вижу, заключается в том, что когда сокет завершен и, следовательно,...
2062 просмотров
schedule 26.11.2023

Спецификация динамического супервизора в Эликсире
Я создал модуль наблюдения GameSupervisor, который использую для динамического создания дочернего элемента экземпляра GameServer (GenServer). Я вижу, что метод start_link GameServer вызывается при вызове функции GameSupervisor.start, но он не...
1141 просмотров

Как правильно протестировать handle_cast в GenServer?
У меня есть GenServer, который отвечает за обращение к внешнему ресурсу. Результат вызова внешнего ресурса не важен, любые сбои время от времени допустимы, поэтому использование handle_cast кажется подходящим для других частей кода. У меня есть...
912 просмотров
schedule 27.01.2024

Почему мой GenServer handle_cast не вызывается
Я использую GenServer в своем модуле, как показано ниже. В методе init он создает Redis-соединение с базой данных. Метод put отправит значения для сохранения в redisdb. Метод handle_cast вызовет команду при повторном подключении для...
369 просмотров
schedule 01.10.2022

Вызов Genserver из-за пределов __module__
При вызове функции я хочу повторить функцию, если не найду ожидаемых данных. Я хочу повторить попытку через 10 секунд после сбоя функции. ТЕКУЩАЯ РЕАЛИЗАЦИЯ: ПЛАНИРОВЩИК def check_question do case question = Repo.get_by(Question,...
344 просмотров
schedule 02.04.2024

Assert_receive для проверки обработчиков сообщений Genserver?
Я хотел бы иметь возможность перехватывать сообщения, идущие на мой GenServer handle_info в тестах, чтобы проверить, что я собираюсь сделать. 1/Есть ли способ как-то распечатать каждое приходящее сообщение? 2/ Используя assert_receive , есть ли...
341 просмотров

Разрешение имен в дереве надзора
Я пытаюсь разрешить GenServer, управляемый приложением, по зарегистрированному имени в elixir 1.9. Вот пример кода: defmodule Experiment do use Application def start(_type, _args) do child_specs = [ config_spec() ]...
66 просмотров
schedule 11.08.2023

gen_server:reply/2: формат сообщения, отправляемого клиенту
Когда я звоню gen_server:reply/2 : gen_server:reply(From, Msg), клиент From получает сообщение в формате: {Ref, Msg) Я не могу найти никакой документации для формата сообщения, отправленного gen_server:reply/2 , и мне интересно,...
336 просмотров
schedule 05.10.2022

Elixir: ошибка аргумента при доступе к ETS из задачи Elixir
В настоящее время я пытаюсь создать клон Redis в Эликсире. В рамках этих усилий я использую задачу для обработки запроса на получение/установку и использую ETS для хранения ключей и значений. ** (ArgumentError) argument error (stdlib 3.13.2)...
84 просмотров
schedule 19.06.2023