main #2

Merged
jingrow merged 250 commits from main into v1 2026-01-13 22:45:50 +08:00
Showing only changes of commit 819b195a67 - Show all commits

View File

@ -1285,7 +1285,7 @@ def create_aliyun_server(order_name):
jingrow.db.commit()
# 延迟60秒执行update_server_record来更新服务器详细信息
time.sleep(60)
time.sleep(30)
jingrow.enqueue(
"jcloud.api.aliyun_server_light.update_server_record",
instance_ids=json.dumps([instance_id]),
@ -1380,10 +1380,22 @@ def update_server_record(instance_ids):
instance_info = instances[0] # 取第一个实例
# 更新public_ip
# 获取公网IP最多重试30次
public_ip = instance_info.get('public_ip_address')
if public_ip:
server.public_ip = public_ip
if not public_ip:
for retry in range(30):
time.sleep(10)
retry_details = get_aliyun_instance_details(instance_ids, region_id)
if retry_details and retry_details.get('success'):
retry_instances = retry_details.get('data', {}).get('instances', [])
if retry_instances and retry_instances[0].get('public_ip_address'):
public_ip = retry_instances[0].get('public_ip_address')
break
else:
jingrow.log_error(f"获取公网IP失败-{instance_id}", f"实例 {instance_id} 在30次重试后仍未获取到公网IP")
return {"success": False, "message": f"实例 {instance_id} 在30次重试后仍未获取到公网IP"}
server.public_ip = public_ip
# 更新end_date从expired_time转换
expired_time = instance_info.get('expired_time')