Add timestamp to execution messages (#4076) · NeoWorldTeam/ComfyUI@5b69cfe

Original file line numberDiff line numberDiff line change

@@ -3,6 +3,7 @@

33

import logging

44

import threading

55

import heapq

6+

import time

67

import traceback

78

import inspect

89

from typing import List, Literal, NamedTuple, Optional

@@ -283,7 +284,11 @@ def reset(self):

283284

self.success = True

284285

self.old_prompt = {}

285286
286-

def add_message(self, event, data, broadcast: bool):

287+

def add_message(self, event, data: dict, broadcast: bool):

288+

data = {

289+

**data,

290+

"timestamp": int(time.time() * 1000),

291+

}

287292

self.status_messages.append((event, data))

288293

if self.server.client_id is not None or broadcast:

289294

self.server.send_sync(event, data, self.server.client_id)

@@ -394,6 +399,9 @@ def execute(self, prompt, prompt_id, extra_data={}, execute_outputs=[]):

394399

if self.success is not True:

395400

self.handle_execution_error(prompt_id, prompt, current_outputs, executed, error, ex)

396401

break

402+

else:

403+

# Only execute when the while-loop ends without break

404+

self.add_message("execution_success", { "prompt_id": prompt_id }, broadcast=False)

397405
398406

for x in executed:

399407

self.old_prompt[x] = copy.deepcopy(prompt[x])