class RestartServerJob < ApplicationJob queue_as :default def perform(server_id) server = Server.find(server_id) log "Restarting server: #{server.name}" begin log "Calling SystemdManager.restart..." L4dServer::SystemdManager.restart(server) log "SystemdManager.restart completed successfully" server.update(status: :starting) log "Server status updated to starting" Activity.log(server.user, "restarted", "Server", server.id, {}) log "Activity logged" rescue StandardError => e log "ERROR: Failed to restart server: #{e.message}" log "Backtrace: #{e.backtrace.first(3).join("\n")}" server.update(status: :failed) Activity.log(server.user, "restart_failed", "Server", server.id, { error: e.message }) raise end end end