Current section
Files
Jump to
Current section
Files
lib/tmux_tracker/client.ex
defmodule TmuxTracker.Client do
defstruct(instance: "", processes: [])
alias __MODULE__
alias TmuxTracker.TmuxProcess
alias WorkerTracker.ProcessHelper
def create(instance) do
processes =
instance
|> get_processes()
|> Enum.map(&create_process(instance, &1))
%Client{instance: instance, processes: processes}
end
defp get_processes(instance) do
instance
|> WorkerTracker.execute_command("ps -xao pid,user,cmd,etimes | grep tmux | grep -v grep")
|> ProcessHelper.create_list_from_string()
end
defdelegate create_process(instance, process_string), to: TmuxProcess, as: :create
end