support nginx
parent
f7bf47ef5f
commit
22c374ad34
|
|
@ -12,6 +12,9 @@ try:
|
|||
except Exception:
|
||||
print('default modules load fails')
|
||||
|
||||
logger = logging.getLogger("sd_proxy")
|
||||
logger.setLevel(os.environ.get('LOG_LEVEL') or logging.ERROR)
|
||||
|
||||
CN_MODEL_EXTS = [".pt", ".pth", ".ckpt", ".safetensors"]
|
||||
models_type_list = ['Stable-diffusion', 'hypernetworks', 'Lora', 'ControlNet', 'embeddings', 'VAE']
|
||||
models_used_count = {key: ModelsRef() for key in models_type_list}
|
||||
|
|
@ -112,28 +115,28 @@ def upload_model(model_type, model_name, model_s3_pos):
|
|||
|
||||
def download_and_update(model_type, model_s3_pos):
|
||||
#download from s3
|
||||
logging.info(f's5cmd sync "{model_s3_pos}" ./')
|
||||
logger.info(f's5cmd sync "{model_s3_pos}" ./')
|
||||
os.system(f's5cmd sync "{model_s3_pos}" ./')
|
||||
tar_name = model_s3_pos.split('/')[-1]
|
||||
logging.info(tar_name)
|
||||
logger.info(tar_name)
|
||||
command = f'file --mime-type -b ./"{tar_name}"'
|
||||
file_type = subprocess.check_output(command, shell=True).decode('utf-8').strip()
|
||||
logging.info(f"file_type is {file_type}")
|
||||
logger.info(f"file_type is {file_type}")
|
||||
if file_type == TAR_TYPE_FILE:
|
||||
logging.info("model type is tar")
|
||||
logger.info("model type is tar")
|
||||
os.system(f"tar xvf '{tar_name}'")
|
||||
os.system(f"rm '{tar_name}'")
|
||||
os.system("df -h")
|
||||
else:
|
||||
os.system(f"rm '{tar_name}'") # 使用引号括起文件名
|
||||
logging.info(f"model type is origin file type: {file_type}")
|
||||
logger.info(f"model type is origin file type: {file_type}")
|
||||
prefix_name = model_s3_pos.split('.')[0]
|
||||
if model_type == 'embeddings':
|
||||
os.system(f's5cmd sync "{prefix_name}"* ./{model_type}/')
|
||||
else:
|
||||
os.system(f's5cmd sync "{prefix_name}"* ./models/{model_type}/')
|
||||
|
||||
logging.info("download finished")
|
||||
logger.info("download finished")
|
||||
if model_type == 'Stable-diffusion':
|
||||
sd_models.list_models()
|
||||
if model_type == 'hypernetworks':
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ class SdApp:
|
|||
self.busy = True
|
||||
|
||||
payload['port'] = self.port
|
||||
logger.info(f"{self.name} invocations start req: http://127.0.0.1:{self.port}/invocations")
|
||||
logger.info(f"{self.name} controller_invocation start req: http://127.0.0.1:{self.port}/invocations")
|
||||
logger.info(payload)
|
||||
|
||||
response = requests.post(f"http://127.0.0.1:{self.port}/invocations", json=payload, timeout=(200, 300))
|
||||
|
|
@ -133,7 +133,7 @@ class SdApp:
|
|||
|
||||
self.busy = False
|
||||
|
||||
logger.info(f"{self.name} invocations end req: http://127.0.0.1:{self.port}/invocations")
|
||||
logger.info(f"{self.name} controller_invocation end req: http://127.0.0.1:{self.port}/invocations")
|
||||
|
||||
return response.json()
|
||||
except Exception as e:
|
||||
|
|
@ -254,6 +254,7 @@ async def ping():
|
|||
|
||||
@app.post("/invocations")
|
||||
async def invocations(request: Request):
|
||||
logger.info("controller_invocation received")
|
||||
while True:
|
||||
app = get_available_app()
|
||||
if app:
|
||||
|
|
|
|||
Loading…
Reference in New Issue