Как подавить предупреждения в Python? - PullRequest
0 голосов
/ 10 июня 2019

У меня есть веб-приложение Flask, мне нужно загрузить файл при запросе пользователя, поэтому я запускаю отдельный процесс загрузки файла, код работает правильно, и файл загружается, но в файле apache error_log я получаю это предупреждение ,

[Mon Jun 10 19:36:28.616922 2019] [:warn] [pid 116572] mod_wsgi (pid=116572): Callback registration for signal 2 ignored.
[Mon Jun 10 19:36:28.619168 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/site-packages/flask/app.py", line 2309, in __call__
[Mon Jun 10 19:36:28.619207 2019] [:warn] [pid 116572]     return self.wsgi_app(environ, start_response)
[Mon Jun 10 19:36:28.619226 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/site-packages/flask/app.py", line 2292, in wsgi_app
[Mon Jun 10 19:36:28.619232 2019] [:warn] [pid 116572]     response = self.full_dispatch_request()
[Mon Jun 10 19:36:28.619236 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
[Mon Jun 10 19:36:28.619239 2019] [:warn] [pid 116572]     rv = self.dispatch_request()
[Mon Jun 10 19:36:28.619242 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/site-packages/flask/app.py", line 1799, in dispatch_request
[Mon Jun 10 19:36:28.619245 2019] [:warn] [pid 116572]     return self.view_functions[rule.endpoint](**req.view_args)
[Mon Jun 10 19:36:28.619248 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/site-packages/flask_login/utils.py", line 261, in decorated_view
[Mon Jun 10 19:36:28.619251 2019] [:warn] [pid 116572]     return func(*args, **kwargs)
[Mon Jun 10 19:36:28.619254 2019] [:warn] [pid 116572]   File "/usr/murtuza/file_deployment/__init__.py", line 1790, in start_download
[Mon Jun 10 19:36:28.619259 2019] [:warn] [pid 116572]     g.HTTP_PROXY_URL)
[Mon Jun 10 19:36:28.619291 2019] [:warn] [pid 116572]   File "/usr/murtuza/file_deployment/__init__.py", line 606, in start_package_download
[Mon Jun 10 19:36:28.619881 2019] [:warn] [pid 116572]     self.download_single_package()
[Mon Jun 10 19:36:28.619910 2019] [:warn] [pid 116572]   File "/usr/murtuza/file_deployment/__init__.py", line 534, in download_single_package
[Mon Jun 10 19:36:28.619929 2019] [:warn] [pid 116572]     stdin=None, preexec_fn=preexec_function, env=env
[Mon Jun 10 19:36:28.619948 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/subprocess.py", line 711, in __init__
[Mon Jun 10 19:36:28.619965 2019] [:warn] [pid 116572]     errread, errwrite)
[Mon Jun 10 19:36:28.619983 2019] [:warn] [pid 116572]   File "/usr/murtuza/venv/lib/python2.7/subprocess.py", line 1279, in _execute_child
[Mon Jun 10 19:36:28.620000 2019] [:warn] [pid 116572]     preexec_fn()
[Mon Jun 10 19:36:28.620018 2019] [:warn] [pid 116572]   File "/usr/murtuza/file_deployment/__init__.py", line 528, in preexec_function
[Mon Jun 10 19:36:28.620034 2019] [:warn] [pid 116572]     signal.signal(signal.SIGINT, signal.SIG_IGN)

Вот код Python, из которого я получаю предупреждения:

def preexec_function():
    import signal
    # Detaching from the parent process group
    os.setpgrp()
    # Explicitly ignoring signals in the child process
    signal.signal(signal.SIGINT, signal.SIG_IGN)

p = subprocess.Popen(
    '/tmp/downloader.py', close_fds=True, stdout=None, stderr=None,
    stdin=None, preexec_fn=preexec_function, env=env
)

Может кто-нибудь предложить мне, как мне его подавить, я не хочу, чтобы эти предупреждения были в моих логах apache.

Заранее спасибо.

...