mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-25 05:40:15 +08:00
Sometimes progress messages of images with metadata are not valid. Need to investigate why.
This commit is contained in:
parent
e7f7a8f80c
commit
db546c4826
@ -49,7 +49,7 @@ from ..cmd import folder_paths
|
|||||||
from ..component_model.abstract_prompt_queue import AbstractPromptQueue, AsyncAbstractPromptQueue
|
from ..component_model.abstract_prompt_queue import AbstractPromptQueue, AsyncAbstractPromptQueue
|
||||||
from ..component_model.encode_text_for_progress import encode_text_for_progress
|
from ..component_model.encode_text_for_progress import encode_text_for_progress
|
||||||
from ..component_model.executor_types import ExecutorToClientProgress, StatusMessage, QueueInfo, ExecInfo, \
|
from ..component_model.executor_types import ExecutorToClientProgress, StatusMessage, QueueInfo, ExecInfo, \
|
||||||
UnencodedPreviewImageMessage
|
UnencodedPreviewImageMessage, PreviewImageWithMetadataMessage
|
||||||
from ..component_model.file_output_path import file_output_path
|
from ..component_model.file_output_path import file_output_path
|
||||||
from ..component_model.queue_types import QueueItem, HistoryEntry, BinaryEventTypes, TaskInvocation, ExecutionError, \
|
from ..component_model.queue_types import QueueItem, HistoryEntry, BinaryEventTypes, TaskInvocation, ExecutionError, \
|
||||||
ExecutionStatus
|
ExecutionStatus
|
||||||
@ -1095,11 +1095,12 @@ class PromptServer(ExecutorToClientProgress):
|
|||||||
prompt_info['exec_info'] = exec_info
|
prompt_info['exec_info'] = exec_info
|
||||||
return prompt_info
|
return prompt_info
|
||||||
|
|
||||||
async def send(self, event, data: UnencodedPreviewImageMessage | tuple[UnencodedPreviewImageMessage, PreviewImageMetadata] | bytes | bytearray | dict, sid=None):
|
async def send(self, event, data: UnencodedPreviewImageMessage | PreviewImageWithMetadataMessage | bytes | bytearray | dict, sid=None):
|
||||||
if event == BinaryEventTypes.UNENCODED_PREVIEW_IMAGE:
|
if event == BinaryEventTypes.UNENCODED_PREVIEW_IMAGE:
|
||||||
await self.send_image(data, sid=sid)
|
await self.send_image(data, sid=sid)
|
||||||
elif event == BinaryEventTypes.PREVIEW_IMAGE_WITH_METADATA:
|
elif event == BinaryEventTypes.PREVIEW_IMAGE_WITH_METADATA:
|
||||||
# data is (preview_image, metadata)
|
# data is (preview_image, metadata)
|
||||||
|
data: PreviewImageWithMetadataMessage
|
||||||
preview_image, metadata = data
|
preview_image, metadata = data
|
||||||
await self.send_image_with_metadata(preview_image, metadata, sid=sid)
|
await self.send_image_with_metadata(preview_image, metadata, sid=sid)
|
||||||
elif isinstance(data, (bytes, bytearray)):
|
elif isinstance(data, (bytes, bytearray)):
|
||||||
@ -1131,9 +1132,13 @@ class PromptServer(ExecutorToClientProgress):
|
|||||||
await self.send_bytes(BinaryEventTypes.PREVIEW_IMAGE, preview_bytes, sid=sid)
|
await self.send_bytes(BinaryEventTypes.PREVIEW_IMAGE, preview_bytes, sid=sid)
|
||||||
|
|
||||||
async def send_image_with_metadata(self, image_data: UnencodedPreviewImageMessage, metadata: Optional[PreviewImageMetadata] = None, sid=None):
|
async def send_image_with_metadata(self, image_data: UnencodedPreviewImageMessage, metadata: Optional[PreviewImageMetadata] = None, sid=None):
|
||||||
image_type = image_data[0]
|
try:
|
||||||
image = image_data[1]
|
image_type = image_data[0]
|
||||||
max_size = image_data[2]
|
image = image_data[1]
|
||||||
|
max_size = image_data[2]
|
||||||
|
except Exception as exc_info:
|
||||||
|
logger.warning(f"tried to send_image_with_metadata but an error occurred, aboring send, image_data={image_data} metadata={metadata} sid={sid}", exc_info=exc_info)
|
||||||
|
return
|
||||||
if max_size is not None:
|
if max_size is not None:
|
||||||
if hasattr(Image, 'Resampling'):
|
if hasattr(Image, 'Resampling'):
|
||||||
resampling = Image.Resampling.BILINEAR
|
resampling = Image.Resampling.BILINEAR
|
||||||
|
|||||||
@ -9,7 +9,7 @@ from PIL import Image
|
|||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
from typing_extensions import override
|
from typing_extensions import override
|
||||||
|
|
||||||
from comfy.component_model.executor_types import ExecutorToClientProgress
|
from comfy.component_model.executor_types import ExecutorToClientProgress, PreviewImageWithMetadataMessage
|
||||||
from comfy.component_model.module_property import create_module_properties
|
from comfy.component_model.module_property import create_module_properties
|
||||||
from comfy.execution_context import current_execution_context
|
from comfy.execution_context import current_execution_context
|
||||||
from comfy.progress_types import AbstractProgressRegistry, PreviewImageMetadata
|
from comfy.progress_types import AbstractProgressRegistry, PreviewImageMetadata
|
||||||
@ -232,9 +232,10 @@ class WebUIProgressHandler(ProgressHandler):
|
|||||||
),
|
),
|
||||||
"real_node_id": self.registry.dynprompt.get_real_node_id(node_id),
|
"real_node_id": self.registry.dynprompt.get_real_node_id(node_id),
|
||||||
}
|
}
|
||||||
|
message: PreviewImageWithMetadataMessage = (image, metadata)
|
||||||
self.server_instance.send_sync(
|
self.server_instance.send_sync(
|
||||||
BinaryEventTypes.PREVIEW_IMAGE_WITH_METADATA,
|
BinaryEventTypes.PREVIEW_IMAGE_WITH_METADATA,
|
||||||
(image, metadata),
|
message,
|
||||||
self.server_instance.client_id,
|
self.server_instance.client_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user