bug fix in n8n deployment
This commit is contained in:
parent
db35838f72
commit
f9e600345f
|
|
@ -3248,59 +3248,74 @@ class CloudManager:
|
|||
statusWriter.writeToFile(f"Error getting administrator: {str(e)} [404]")
|
||||
return
|
||||
|
||||
# Step 1: Create the website
|
||||
statusWriter.writeToFile('Creating website...,10')
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Creating website for {domain_name}")
|
||||
wm = WebsiteManager()
|
||||
result = wm.submitWebsiteCreation(admin.pk, website_data)
|
||||
result_data = json.loads(result.content)
|
||||
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation result: {result_data}")
|
||||
|
||||
if result_data.get('createWebSiteStatus', 0) != 1:
|
||||
statusWriter.writeToFile(f"Failed to create website: {result_data.get('error_message', 'Unknown error')} [404]")
|
||||
return
|
||||
|
||||
# Wait for website creation to complete - no time limit
|
||||
creation_status_path = result_data.get('tempStatusPath')
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation status path: {creation_status_path}")
|
||||
|
||||
if creation_status_path:
|
||||
statusWriter.writeToFile('Waiting for website creation to complete (including SSL)...,15')
|
||||
check_count = 0
|
||||
while True:
|
||||
try:
|
||||
with open(creation_status_path, 'r') as f:
|
||||
status = f.read()
|
||||
if '[200]' in status:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation completed successfully")
|
||||
break
|
||||
elif '[404]' in status:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation failed: {status}")
|
||||
statusWriter.writeToFile(f"Website creation failed: {status} [404]")
|
||||
return
|
||||
except Exception as e:
|
||||
if check_count % 10 == 0: # Log every 10 checks
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Still waiting for website creation... (check #{check_count})")
|
||||
|
||||
check_count += 1
|
||||
time.sleep(1)
|
||||
|
||||
# Get the created website object
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Getting website object for {domain_name}")
|
||||
try:
|
||||
website = Websites.objects.get(domain=domain_name)
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Found website object: {website.domain}")
|
||||
except Websites.DoesNotExist:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website object not found for {domain_name}")
|
||||
statusWriter.writeToFile('Website creation succeeded but website object not found [404]')
|
||||
return
|
||||
except Exception as e:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Error getting website object: {str(e)}")
|
||||
statusWriter.writeToFile(f'Error getting website object: {str(e)} [404]')
|
||||
return
|
||||
|
||||
statusWriter.writeToFile('Website created successfully...,20')
|
||||
# Step 1: Check if website already exists, create only if not
|
||||
existing_website = Websites.objects.filter(domain=domain_name).first()
|
||||
|
||||
if existing_website:
|
||||
# Website already exists, skip creation
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website {domain_name} already exists, skipping creation")
|
||||
statusWriter.writeToFile(f'Website already exists, proceeding to N8N deployment...,20')
|
||||
website = existing_website
|
||||
else:
|
||||
# Website doesn't exist, create it
|
||||
statusWriter.writeToFile('Creating website...,10')
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Creating website for {domain_name}")
|
||||
wm = WebsiteManager()
|
||||
result = wm.submitWebsiteCreation(admin.pk, website_data)
|
||||
result_data = json.loads(result.content)
|
||||
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation result: {result_data}")
|
||||
|
||||
if result_data.get('createWebSiteStatus', 0) != 1:
|
||||
statusWriter.writeToFile(f"Failed to create website: {result_data.get('error_message', 'Unknown error')} [404]")
|
||||
return
|
||||
|
||||
# Wait for website creation to complete - 10 minute timeout
|
||||
creation_status_path = result_data.get('tempStatusPath')
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation status path: {creation_status_path}")
|
||||
|
||||
if creation_status_path:
|
||||
statusWriter.writeToFile('Waiting for website creation to complete (including SSL)...,15')
|
||||
check_count = 0
|
||||
max_checks = 600 # 10 minute timeout (600 seconds)
|
||||
while check_count < max_checks:
|
||||
try:
|
||||
with open(creation_status_path, 'r') as f:
|
||||
status = f.read()
|
||||
if '[200]' in status:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation completed successfully")
|
||||
break
|
||||
elif '[404]' in status:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation failed: {status}")
|
||||
statusWriter.writeToFile(f"Website creation failed: {status} [404]")
|
||||
return
|
||||
except Exception as e:
|
||||
if check_count % 10 == 0: # Log every 10 checks
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Still waiting for website creation... (check #{check_count})")
|
||||
|
||||
check_count += 1
|
||||
time.sleep(1)
|
||||
|
||||
if check_count >= max_checks:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation timed out after 10 minutes")
|
||||
statusWriter.writeToFile(f"Website creation timed out after 10 minutes [404]")
|
||||
return
|
||||
|
||||
# Get the created website object
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Getting website object for {domain_name}")
|
||||
try:
|
||||
website = Websites.objects.get(domain=domain_name)
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Found website object: {website.domain}")
|
||||
except Websites.DoesNotExist:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website object not found for {domain_name}")
|
||||
statusWriter.writeToFile('Website creation succeeded but website object not found [404]')
|
||||
return
|
||||
except Exception as e:
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Error getting website object: {str(e)}")
|
||||
statusWriter.writeToFile(f'Error getting website object: {str(e)} [404]')
|
||||
return
|
||||
|
||||
statusWriter.writeToFile('Website created successfully...,20')
|
||||
logging.writeToFile(f"[_install_n8n_with_website] Website creation phase complete")
|
||||
|
||||
# Step 2: Create database using native CyberPanel process
|
||||
|
|
|
|||
Loading…
Reference in New Issue