Packages

Тестовое задание проект

Current section

Files

Jump to
serv lib TTL120.ex
Raw

lib/TTL120.ex

defmodule Ttl120 do
@moduledoc "Модуль определяет функционал удаление записи из БД
поcле отображения в соответствии со значением TTL"
require Logger
@doc "Функция удаления записи после отображения по истечении TTL"
def del120(nik, ttl) do
receive do
[nik, ttl] ->
Logger.info("Начинаем отсчет #{ttl} секунд")
:timer.sleep(ttl*1000)
Logger.info("Начинаем отсчет закончен")
try do
{:atomic, [record]} = :mnesia.transaction(fn ->
:mnesia.delete({:p_players, nik}) end)
rescue
error -> error
end
Logger.info("Запись #{nik} успешно удалена через #{ttl} секунд.")
end
end
end