mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Add check for migration before starting a server
This commit is contained in:
parent
70ceb1a4e7
commit
1f95b22dce
@ -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")
|
||||
|
@ -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",
|
||||
|
@ -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,
|
||||
|
@ -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(
|
||||
|
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user