turtle170 commited on
Commit
016c552
·
verified ·
1 Parent(s): edc7e75

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -1
app.py CHANGED
@@ -255,10 +255,12 @@ class BackendProcessor:
255
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - ZEROENGINE - %(message)s', force=True)
256
  logger = logging.getLogger(__name__)
257
 
258
- # Comprehensive asyncio warning suppression (multiple layers)
259
  import warnings
260
  import sys
261
  import os
 
 
262
 
263
  # Set environment variables to suppress asyncio warnings
264
  os.environ['PYTHONASYNCIODEBUG'] = '0'
@@ -271,6 +273,29 @@ warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*asynci
271
  warnings.filterwarnings("ignore", message=".*file descriptor.*")
272
  warnings.filterwarnings("ignore", message=".*Invalid file descriptor.*")
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  # Store original get_event_loop for restoration
275
  import asyncio
276
  _original_get_event_loop = asyncio.get_event_loop
 
255
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - ZEROENGINE - %(message)s', force=True)
256
  logger = logging.getLogger(__name__)
257
 
258
+ # Ultimate asyncio warning suppression (stderr redirection)
259
  import warnings
260
  import sys
261
  import os
262
+ import re
263
+ from io import StringIO
264
 
265
  # Set environment variables to suppress asyncio warnings
266
  os.environ['PYTHONASYNCIODEBUG'] = '0'
 
273
  warnings.filterwarnings("ignore", message=".*file descriptor.*")
274
  warnings.filterwarnings("ignore", message=".*Invalid file descriptor.*")
275
 
276
+ # Create stderr filter to catch "Exception ignored" messages
277
+ class AsyncioFilter:
278
+ def __init__(self, original_stderr):
279
+ self.original_stderr = original_stderr
280
+ self.buffer = StringIO()
281
+
282
+ def write(self, text):
283
+ # Filter out asyncio file descriptor errors
284
+ if ("Exception ignored in:" in text and
285
+ "BaseEventLoop.__del__" in text and
286
+ "Invalid file descriptor: -1" in text):
287
+ return # Suppress the entire traceback
288
+
289
+ # Write to original stderr for other messages
290
+ self.original_stderr.write(text)
291
+ self.original_stderr.flush()
292
+
293
+ def flush(self):
294
+ self.original_stderr.flush()
295
+
296
+ # Install stderr filter
297
+ sys.stderr = AsyncioFilter(sys.stderr)
298
+
299
  # Store original get_event_loop for restoration
300
  import asyncio
301
  _original_get_event_loop = asyncio.get_event_loop