mirror of
https://github.com/open-webui/open-webui
synced 2025-02-22 13:18:25 +00:00
Merge pull request #4448 from JohnTheNerd/comfyui-async-fix
fix: ComfyUI generation no longer causes FastAPI to stall for all users
This commit is contained in:
commit
a7063a598d
@ -514,7 +514,7 @@ async def image_generations(
|
|||||||
|
|
||||||
data = ImageGenerationPayload(**data)
|
data = ImageGenerationPayload(**data)
|
||||||
|
|
||||||
res = comfyui_generate_image(
|
res = await comfyui_generate_image(
|
||||||
app.state.config.MODEL,
|
app.state.config.MODEL,
|
||||||
data,
|
data,
|
||||||
user.id,
|
user.id,
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import asyncio
|
||||||
import websocket # NOTE: websocket-client (https://github.com/websocket-client/websocket-client)
|
import websocket # NOTE: websocket-client (https://github.com/websocket-client/websocket-client)
|
||||||
import uuid
|
import uuid
|
||||||
import json
|
import json
|
||||||
@ -328,7 +329,7 @@ class ImageGenerationPayload(BaseModel):
|
|||||||
flux_fp8_clip: Optional[bool] = None
|
flux_fp8_clip: Optional[bool] = None
|
||||||
|
|
||||||
|
|
||||||
def comfyui_generate_image(
|
async def comfyui_generate_image(
|
||||||
model: str, payload: ImageGenerationPayload, client_id, base_url
|
model: str, payload: ImageGenerationPayload, client_id, base_url
|
||||||
):
|
):
|
||||||
ws_url = base_url.replace("http://", "ws://").replace("https://", "wss://")
|
ws_url = base_url.replace("http://", "ws://").replace("https://", "wss://")
|
||||||
@ -397,7 +398,7 @@ def comfyui_generate_image(
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
images = get_images(ws, comfyui_prompt, client_id, base_url)
|
images = await asyncio.to_thread(get_images, ws, comfyui_prompt, client_id, base_url)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.exception(f"Error while receiving images: {e}")
|
log.exception(f"Error while receiving images: {e}")
|
||||||
images = None
|
images = None
|
||||||
|
Loading…
Reference in New Issue
Block a user