arcacolab commited on
Commit
213d4d7
ยท
verified ยท
1 Parent(s): b17fd97

Update runcomfy_gd.py

Browse files
Files changed (1) hide show
  1. runcomfy_gd.py +49 -27
runcomfy_gd.py CHANGED
@@ -1,4 +1,3 @@
1
-
2
  import os
3
  import subprocess
4
  import time
@@ -12,10 +11,16 @@ import select
12
 
13
  # --- ์„ค์ • ๋ณ€์ˆ˜ ---
14
  COMFYUI_PORT = 8188
15
- # ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๊ฒฝ๋กœ (ComfyUI ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ–, ์ฆ‰ ๋ถ€๋ชจ ๋””๋ ‰ํ† ๋ฆฌ)
16
- TUNNEL_SCRIPT_PATH = "../gradio-tunnel.py"
17
 
18
- # Gradio Tunnel Script ๋‚ด์šฉ (์ด์ „ ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ)
 
 
 
 
 
 
 
 
19
  GRADIO_TUNNEL_SCRIPT_CONTENT = r"""
20
  import atexit
21
  import os
@@ -206,6 +211,14 @@ if __name__ == "__main__":
206
  print("์˜ค๋ฅ˜: ํฌํŠธ ๋ฒˆํ˜ธ๋Š” ์ •์ˆ˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.", file=sys.stderr)
207
  sys.exit(1)
208
 
 
 
 
 
 
 
 
 
209
  try:
210
  address = setup_tunnel(
211
  "127.0.0.1",
@@ -217,12 +230,12 @@ if __name__ == "__main__":
217
  # ํ„ฐ๋„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š๋„๋ก ๋Œ€๊ธฐ
218
  time.sleep(3600 * 24 * 3)
219
  except Exception as e:
220
- print(f"ํ„ฐ๋„ ์‹คํ–‰ ์ค‘ ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {{e}}", file=sys.stderr)
221
  sys.exit(1)
222
 
223
  """
224
 
225
- # --- 1. main ํ•จ์ˆ˜ (์ธ์ž ์ฒ˜๋ฆฌ ๊ฐ„์†Œํ™”) ---
226
  def main():
227
  # requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
228
  try:
@@ -230,8 +243,8 @@ def main():
230
  except ImportError:
231
  print("ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 'requests'๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.")
232
  try:
 
233
  subprocess.check_call([sys.executable, "-m", "pip", "install", "requests"])
234
- # import requests # ์žฌ์„ค์น˜ ํ›„ ์žฌ์ž„ํฌํŠธ๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, main ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์ด๋ฏธ ์ž„ํฌํŠธ ์‹œ๋„๋˜์—ˆ์œผ๋ฏ€๋กœ ์ƒ๋žต
235
  except Exception as e:
236
  print(f"๊ฒฝ๊ณ : 'requests' ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์‹คํŒจ. ํ„ฐ๋„๋ง ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜: {e}")
237
 
@@ -239,25 +252,28 @@ def main():
239
  comfyui_args = sys.argv[1:]
240
 
241
  # --- ํ•„์ˆ˜ ๊ฒฝ๋กœ ์„ค์ • ๋ฐ ์ด๋™ ---
 
 
242
  comfyui_dir = "/content/drive/MyDrive/ONECLICK/ComfyUI"
243
- # ๋˜๋Š” f-string ์‚ฌ์šฉ: comfyui_dir = f"{WS}/ComfyUI"
244
 
245
  print(f"ComfyUI ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ ์ค‘: {comfyui_dir}")
246
  try:
247
  os.chdir(comfyui_dir)
248
  except FileNotFoundError:
249
  print(f"์˜ค๋ฅ˜: ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค: {comfyui_dir}. ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.")
 
250
 
251
- # ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์ €์žฅ
252
- print("ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ์ €์žฅ ์ค‘...")
253
  try:
254
- # TUNNEL_SCRIPT_PATH๋Š” '../gradio-tunnel.py'์ด๋ฏ€๋กœ, CWD์˜ ๋ถ€๋ชจ์— ์ €์žฅ๋จ
255
  with open(TUNNEL_SCRIPT_PATH, "w") as f:
256
  f.write(GRADIO_TUNNEL_SCRIPT_CONTENT)
257
  except Exception as e:
258
- print(f"์˜ค๋ฅ˜: ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ €์žฅ ์‹คํŒจ: {e}")
259
  sys.exit(1)
260
 
 
261
  # --- 2. ComfyUI ์„œ๋ฒ„ ์‹คํ–‰ (๋ฐฑ๊ทธ๋ผ์šด๋“œ) ---
262
  print("\nComfyUI ์„œ๋ฒ„๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค...")
263
  comfyui_base_args = [
@@ -280,6 +296,7 @@ def main():
280
  time.sleep(15)
281
 
282
  print(f"\nGradio ํ„ฐ๋„ ํด๋ผ์ด์–ธํŠธ ์‹œ์ž‘ ์ค‘ (ํฌํŠธ {COMFYUI_PORT})...")
 
283
  tunnel_command = ["python", TUNNEL_SCRIPT_PATH, str(COMFYUI_PORT)]
284
 
285
  tunnel_proc = subprocess.Popen(
@@ -317,7 +334,7 @@ def main():
317
  print("="*50)
318
 
319
  else:
320
- # --- ํ„ฐ๋„๋ง ์‹คํŒจ ์‹œ ์˜ค๋ฅ˜ ์ง„๋‹จ ๋กœ์ง (communicate() ์ œ๊ฑฐ) ---
321
  print("\n" + "="*50)
322
  print("๐Ÿšจ **ํ„ฐ๋„๋ง ํด๋ผ์ด์–ธํŠธ ์‹คํ–‰์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค!**")
323
  print("์•„๋ž˜ ๋กœ๊ทธ์—์„œ ์˜ค๋ฅ˜ ์›์ธ์„ ํ™•์ธํ•˜์„ธ์š”.")
@@ -325,22 +342,21 @@ def main():
325
 
326
  # 1. ํ„ฐ๋„ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์‹œ ๋‚จ์€ ๋กœ๊ทธ ํ™•์ธ ๋ฐ ์ถœ๋ ฅ
327
  print("\n--- ํ„ฐ๋„ ํด๋ผ์ด์–ธํŠธ ์ตœ์ข… ๋กœ๊ทธ ---")
328
- tunnel_proc.stdout.seek(0) # ํ„ฐ๋„ stdout์˜ ์ฒ˜์Œ์œผ๋กœ ์ด๋™
329
- tunnel_logs = tunnel_proc.stdout.read()
330
- if tunnel_logs:
331
- print(tunnel_logs.strip())
332
- else:
333
- print("ํ„ฐ๋„ ๋กœ๊ทธ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์ข…๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.")
334
-
335
- # 2. ComfyUI ํ”„๋กœ์„ธ์Šค ๋กœ๊ทธ ํ™•์ธ (communicate ๋Œ€์‹  read())
336
- # ComfyUI์˜ stdout์ด ๋‹ซํžˆ์ง€ ์•Š๋„๋ก, ๋น„์ฐจ๋‹จ ๋ฐฉ์‹์œผ๋กœ ํ˜„์žฌ๊นŒ์ง€์˜ ๋กœ๊ทธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.
 
 
337
  print("\n--- ComfyUI ์ดˆ๊ธฐ ๋กœ๊ทธ ํ™•์ธ (ComfyUI๊ฐ€ ํฌํŠธ๋ฅผ ์—ด์—ˆ๋Š”์ง€ ํ™•์ธ) ---")
338
- # subprocess.PIPE๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐจ๋‹จ ๋ชจ๋“œ์ด๋ฏ€๋กœ, read()๋ฅผ ์“ฐ๊ธฐ ์ „์—
339
- # ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ํ˜„์žฌ๊นŒ์ง€ ๋ฒ„ํผ์— ์Œ“์ธ ๋กœ๊ทธ๋ฅผ ์ตœ๋Œ€ํ•œ ์ถœ๋ ฅํ•ด ๋ด…๋‹ˆ๋‹ค.
340
- # ์ด ์‹œ์ ์—์„œ๋Š” 15์ดˆ ๋™์•ˆ ๋Œ€๊ธฐํ–ˆ์œผ๋ฏ€๋กœ, ComfyUI๊ฐ€ ์‹œ์ž‘ ์‹œ ์ถœ๋ ฅํ•˜๋Š” ๋กœ๊ทธ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
341
  try:
342
- # select๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์ฐจ๋‹จ ๋ฐฉ์‹์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ์‹œ๋„ (Colab ํ™˜๊ฒฝ์—์„œ ํ•ญ์ƒ ์ž‘๋™ํ•˜์ง€๋Š” ์•Š์„ ์ˆ˜ ์žˆ์Œ)
343
  if comfyui_proc.stdout is not None:
 
344
  ready_to_read, _, _ = select.select([comfyui_proc.stdout], [], [], 0.5)
345
  if ready_to_read:
346
  comfy_logs = comfyui_proc.stdout.read()
@@ -352,6 +368,12 @@ def main():
352
  except Exception as e:
353
  print(f"ComfyUI ๋กœ๊ทธ ์ฝ๊ธฐ ์ค‘ ์˜ˆ์™ธ ๋ฐœ์ƒ: {e}")
354
 
 
 
 
 
 
 
355
  raise RuntimeError("Gradio ํ„ฐ๋„๋ง์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์ƒ์„ธ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.")
356
 
357
 
@@ -395,4 +417,4 @@ def main():
395
  print("๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
396
 
397
  if __name__ == '__main__':
398
- main()
 
 
1
  import os
2
  import subprocess
3
  import time
 
11
 
12
  # --- ์„ค์ • ๋ณ€์ˆ˜ ---
13
  COMFYUI_PORT = 8188
 
 
14
 
15
+ # ๐Ÿšจ ์‚ฌ์šฉ์ž ์ง€์ •: ๋ชจ๋“  .py ํŒŒ์ผ์„ ์ €์žฅํ•  ์ ˆ๋Œ€ ๊ฒฝ๋กœ
16
+ # ์ด ๊ฒฝ๋กœ์— gradio-tunnel.py๊ฐ€ ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (Colab ์…€ ์‹คํ–‰ ์ „์— /content/py ํด๋”๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)
17
+ PYTHON_SCRIPT_DIR = "/content/py"
18
+
19
+ # ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ์˜ ์ตœ์ข… ์ ˆ๋Œ€ ๊ฒฝ๋กœ
20
+ TUNNEL_SCRIPT_PATH = os.path.join(PYTHON_SCRIPT_DIR, "gradio-tunnel.py")
21
+ # ์˜ˆ: "/content/py/gradio-tunnel.py"
22
+
23
+ # Gradio Tunnel Script ๋‚ด์šฉ (ํ„ฐ๋„๋ง ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” Python ์ฝ”๋“œ)
24
  GRADIO_TUNNEL_SCRIPT_CONTENT = r"""
25
  import atexit
26
  import os
 
211
  print("์˜ค๋ฅ˜: ํฌํŠธ ๋ฒˆํ˜ธ๋Š” ์ •์ˆ˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.", file=sys.stderr)
212
  sys.exit(1)
213
 
214
+ # requests ์ž„ํฌํŠธ ํ™•์ธ (Colab ํ™˜๊ฒฝ์—์„œ ํ•„์š”)
215
+ try:
216
+ import requests
217
+ except ImportError:
218
+ # ์ด ์ฝ”๋“œ๋Š” runcomfy.py์—์„œ ์‹คํ–‰ํ•˜๋Š” subprocess์ด๋ฏ€๋กœ,
219
+ # runcomfy.py์—์„œ requests ์„ค์น˜๋ฅผ ๋ณด์žฅํ•ด์•ผ ํ•จ.
220
+ pass
221
+
222
  try:
223
  address = setup_tunnel(
224
  "127.0.0.1",
 
230
  # ํ„ฐ๋„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š๋„๋ก ๋Œ€๊ธฐ
231
  time.sleep(3600 * 24 * 3)
232
  except Exception as e:
233
+ print(f"ํ„ฐ๋„ ์‹คํ–‰ ์ค‘ ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}", file=sys.stderr)
234
  sys.exit(1)
235
 
236
  """
237
 
238
+ # --- 1. main ํ•จ์ˆ˜ ---
239
  def main():
240
  # requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
241
  try:
 
243
  except ImportError:
244
  print("ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 'requests'๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.")
245
  try:
246
+ # ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜๋ฅผ ์‹œ๋„
247
  subprocess.check_call([sys.executable, "-m", "pip", "install", "requests"])
 
248
  except Exception as e:
249
  print(f"๊ฒฝ๊ณ : 'requests' ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์‹คํŒจ. ํ„ฐ๋„๋ง ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜: {e}")
250
 
 
252
  comfyui_args = sys.argv[1:]
253
 
254
  # --- ํ•„์ˆ˜ ๊ฒฝ๋กœ ์„ค์ • ๋ฐ ์ด๋™ ---
255
+ # WS ๋ณ€์ˆ˜๋Š” ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์™ธ๋ถ€ Colab ์…€์—์„œ ๊ฒฐ์ •๋˜๊ฑฐ๋‚˜,
256
+ # ํ˜น์€ ์ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ DRIVE ๋ชจ๋“œ(/content/drive/MyDrive/ONECLICK) ์ „์šฉ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
257
  comfyui_dir = "/content/drive/MyDrive/ONECLICK/ComfyUI"
 
258
 
259
  print(f"ComfyUI ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ ์ค‘: {comfyui_dir}")
260
  try:
261
  os.chdir(comfyui_dir)
262
  except FileNotFoundError:
263
  print(f"์˜ค๋ฅ˜: ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค: {comfyui_dir}. ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.")
264
+ sys.exit(1) # ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด ์ข…๋ฃŒ
265
 
266
+ # ๐Ÿšจ ์ˆ˜์ •: ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์ง€์ •๋œ ๊ฒฝ๋กœ์— ์ €์žฅ (ํด๋” ์ƒ์„ฑ ์—†์Œ)
267
+ print(f"ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ์ €์žฅ ์ค‘: {TUNNEL_SCRIPT_PATH}")
268
  try:
269
+ # TUNNEL_SCRIPT_PATH์— ์ €์žฅ (์ ˆ๋Œ€ ๊ฒฝ๋กœ ์‚ฌ์šฉ)
270
  with open(TUNNEL_SCRIPT_PATH, "w") as f:
271
  f.write(GRADIO_TUNNEL_SCRIPT_CONTENT)
272
  except Exception as e:
273
+ print(f"์˜ค๋ฅ˜: ํ„ฐ๋„ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ์ €์žฅ ์‹คํŒจ. {PYTHON_SCRIPT_DIR} ๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด ์ฃผ์„ธ์š”. ์˜ค๋ฅ˜: {e}")
274
  sys.exit(1)
275
 
276
+
277
  # --- 2. ComfyUI ์„œ๋ฒ„ ์‹คํ–‰ (๋ฐฑ๊ทธ๋ผ์šด๋“œ) ---
278
  print("\nComfyUI ์„œ๋ฒ„๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค...")
279
  comfyui_base_args = [
 
296
  time.sleep(15)
297
 
298
  print(f"\nGradio ํ„ฐ๋„ ํด๋ผ์ด์–ธํŠธ ์‹œ์ž‘ ์ค‘ (ํฌํŠธ {COMFYUI_PORT})...")
299
+ # ๐Ÿšจ ์ˆ˜์ •: TUNNEL_SCRIPT_PATH ๋ณ€์ˆ˜(์ ˆ๋Œ€ ๊ฒฝ๋กœ) ์‚ฌ์šฉ
300
  tunnel_command = ["python", TUNNEL_SCRIPT_PATH, str(COMFYUI_PORT)]
301
 
302
  tunnel_proc = subprocess.Popen(
 
334
  print("="*50)
335
 
336
  else:
337
+ # --- ํ„ฐ๋„๋ง ์‹คํŒจ ์‹œ ์˜ค๋ฅ˜ ์ง„๋‹จ ๋กœ์ง ---
338
  print("\n" + "="*50)
339
  print("๐Ÿšจ **ํ„ฐ๋„๋ง ํด๋ผ์ด์–ธํŠธ ์‹คํ–‰์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค!**")
340
  print("์•„๋ž˜ ๋กœ๊ทธ์—์„œ ์˜ค๋ฅ˜ ์›์ธ์„ ํ™•์ธํ•˜์„ธ์š”.")
 
342
 
343
  # 1. ํ„ฐ๋„ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์‹œ ๋‚จ์€ ๋กœ๊ทธ ํ™•์ธ ๋ฐ ์ถœ๋ ฅ
344
  print("\n--- ํ„ฐ๋„ ํด๋ผ์ด์–ธํŠธ ์ตœ์ข… ๋กœ๊ทธ ---")
345
+ # ํ„ฐ๋„ stdout์˜ ์ฒ˜์Œ์œผ๋กœ ์ด๋™ (์ด๋ฏธ ์ฝ์€ ๋‚ด์šฉ ํฌํ•จ)
346
+ try:
347
+ tunnel_logs = tunnel_proc.stdout.read()
348
+ if tunnel_logs:
349
+ print(tunnel_logs.strip())
350
+ else:
351
+ print("ํ„ฐ๋„ ๋กœ๊ทธ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์ข…๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.")
352
+ except Exception as e:
353
+ print(f"ํ„ฐ๋„ ๋กœ๊ทธ๋ฅผ ์ฝ๋Š” ์ค‘ ์˜ˆ์™ธ ๋ฐœ์ƒ: {e}")
354
+
355
+ # 2. ComfyUI ํ”„๋กœ์„ธ์Šค ๋กœ๊ทธ ํ™•์ธ
356
  print("\n--- ComfyUI ์ดˆ๊ธฐ ๋กœ๊ทธ ํ™•์ธ (ComfyUI๊ฐ€ ํฌํŠธ๋ฅผ ์—ด์—ˆ๋Š”์ง€ ํ™•์ธ) ---")
 
 
 
357
  try:
 
358
  if comfyui_proc.stdout is not None:
359
+ # select๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์ฐจ๋‹จ ๋ฐฉ์‹์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ์‹œ๋„
360
  ready_to_read, _, _ = select.select([comfyui_proc.stdout], [], [], 0.5)
361
  if ready_to_read:
362
  comfy_logs = comfyui_proc.stdout.read()
 
368
  except Exception as e:
369
  print(f"ComfyUI ๋กœ๊ทธ ์ฝ๊ธฐ ์ค‘ ์˜ˆ์™ธ ๋ฐœ์ƒ: {e}")
370
 
371
+ # ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ํ›„ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
372
+ if comfyui_proc.poll() is None:
373
+ comfyui_proc.terminate()
374
+ if tunnel_proc.poll() is None:
375
+ tunnel_proc.terminate()
376
+
377
  raise RuntimeError("Gradio ํ„ฐ๋„๋ง์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์ƒ์„ธ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.")
378
 
379
 
 
417
  print("๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
418
 
419
  if __name__ == '__main__':
420
+ main()