From 58d0b1a89c461467c9ea6229f9a6b3d5ed573da5 Mon Sep 17 00:00:00 2001 From: Simponic Date: Sat, 31 Dec 2022 02:29:38 -0700 Subject: A simple stalling TUI! Also, ensure sessions are counted correctly. Next up, some way of pub-sub across multiple nodes --- lib/chessh/application.ex | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/chessh/application.ex') diff --git a/lib/chessh/application.ex b/lib/chessh/application.ex index 4692489..4b03169 100644 --- a/lib/chessh/application.ex +++ b/lib/chessh/application.ex @@ -2,10 +2,13 @@ defmodule Chessh.Application do alias Chessh.{PlayerSession, Node} use Application - def initialize_player_sessions_on_node() do + def initialize_node() do # If we have more than one node running the ssh daemon, we'd want to ensure # this is restarting after every potential crash. Otherwise the player sessions # on the node would hang. + + # User session also need to be cleaned up after the node exits the pool for + # the same reason. node_id = System.fetch_env!("NODE_ID") Node.boot(node_id) PlayerSession.delete_all_on_node(node_id) @@ -16,7 +19,7 @@ defmodule Chessh.Application do opts = [strategy: :one_for_one, name: Chessh.Supervisor] with {:ok, pid} <- Supervisor.start_link(children, opts) do - initialize_player_sessions_on_node() + initialize_node() {:ok, pid} end end -- cgit v1.2.3-70-g09d2