Это мой первый сервер, который я начал делать на занятиях по Эрлангу у Костюшкина. Это будет кеширующий сервер. Он должен будет принимать некоторые произвольные рекорды. Единственное, у рекорда должно быть поле, когда он уже не действует. И этот кеширующий сервер будет сохранять все эти рекорды в ETS'ку. А раз в N секунд будет проходить по этой всей ETS'ке и удалять все записи, которые устарели. Генсервер будет вызывать сам себя по какому-то таймеру... При этом важно, чтобы инсерт в етску и лукап из неё должы происходить через апишную функцию.
Уже сделано вот что:
- проект собрался и работает;
- при запуске выдаёт несколько сообщений о том, что запускается;
- есть АПИшная функция добавления записи в ETS'ку;
- генсервер раз в пять секунд проверяет ETS'ку и удаляет устаревшие записи;
- поправил отсчёт времени, чтобы не было ошибки при переполнении секунд;
- добавил поле Key, по которому идентифицируется запись;
- добавил АПИшную функцию lookup для просмотра содержимого кеша.
API
- myfirstserver:insert(1, "asdf", 27). - команда добавляет новую запись в кеш. Аргументы следующие. 1 - ключ (номер записи), "asdf" - наши данные, 27 - время жизни записи в секундах.
- myfirstserver:lookup(1). - команда позволяет просматривать запись кеша. 1 - ключ записи.