Add check for migration before starting a server

This commit is contained in:
amcmanu3 2023-02-20 15:36:05 -05:00
parent 70ceb1a4e7
commit 1f95b22dce
5 changed files with 20 additions and 1 deletions

View File

@ -63,6 +63,7 @@ class Helpers:
self.servers_dir = os.path.join(self.root_dir, "servers")
self.backup_path = os.path.join(self.root_dir, "backups")
self.migration_dir = os.path.join(self.root_dir, "app", "migrations")
self.dir_migration = False
self.session_file = os.path.join(self.root_dir, "app", "config", "session.lock")
self.settings_file = os.path.join(self.root_dir, "app", "config", "config.json")

View File

@ -1010,6 +1010,7 @@ class Controller:
HelpersManagement.set_master_server_dir(server_dir)
def update_master_server_dir(self, server_dir, user_id):
self.helper.dir_migration = True
move_thread = threading.Thread(
name="dir_move",
target=self.t_update_master_server_dir,
@ -1117,6 +1118,7 @@ class Controller:
else:
self.servers.update_unloaded_server(server_obj)
self.servers.init_all_servers()
self.helper.dir_migration = False
self.helper.websocket_helper.broadcast_page(
"/panel/panel_config",
"move_status",

View File

@ -211,6 +211,19 @@ class ServerInstance:
def run_threaded_server(self, user_id, forge_install=False):
# start the server
if self.helper.dir_migration:
self.helper.websocket_helper.broadcast_user(
user_id,
"send_start_error",
{
"error": self.helper.translation.translate(
"error",
"migration",
HelperUsers.get_user_lang_by_id(user_id),
)
},
)
return False
self.server_thread = threading.Thread(
target=self.start_server,
daemon=True,

View File

@ -576,6 +576,8 @@ class AjaxHandler(BaseHandler):
return
elif page == "update_server_dir":
if self.helper.dir_migration:
return
for server in self.controller.servers.get_all_servers_stats():
if server["stats"]["running"]:
self.helper.websocket_helper.broadcast_user(

View File

@ -185,7 +185,8 @@
"start-error": "Server {} failed to start with error code: {}",
"terribleFailure": "What a Terrible Failure!",
"superError": "You must be a super user to complete this action.",
"fileError": "File type must be an image."
"fileError": "File type must be an image.",
"migration": "Crafty's main server storage is being mirgated to a new location. All server starts have been suspended during this time. Please wait while we finish this migration"
},
"footer": {
"allRightsReserved": "All rights reserved",