Make psutil features of our fedmsg config optional for mod_wsgi on rhel7.
This commit is contained in:
parent
3f6fb1677f
commit
51e097143c
2 changed files with 28 additions and 8 deletions
|
@ -1,9 +1,3 @@
|
||||||
import os
|
|
||||||
import psutil
|
|
||||||
|
|
||||||
pid = os.getpid()
|
|
||||||
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
|
||||||
|
|
||||||
config = dict(
|
config = dict(
|
||||||
# Set this to dev if you're hacking on fedmsg or an app locally.
|
# Set this to dev if you're hacking on fedmsg or an app locally.
|
||||||
# Set to stg or prod if running in the Fedora Infrastructure.
|
# Set to stg or prod if running in the Fedora Infrastructure.
|
||||||
|
@ -50,5 +44,19 @@ config = dict(
|
||||||
zmq_tcp_keepalive_idle=60,
|
zmq_tcp_keepalive_idle=60,
|
||||||
zmq_tcp_keepalive_intvl=5,
|
zmq_tcp_keepalive_intvl=5,
|
||||||
)
|
)
|
||||||
|
|
||||||
# This option adds an IPC socket by which we can monitor hub health.
|
# This option adds an IPC socket by which we can monitor hub health.
|
||||||
config['moksha.monitoring.socket'] = 'ipc:///var/run/fedmsg/monitoring-%s.socket' % proc.name
|
try:
|
||||||
|
import os
|
||||||
|
import psutil
|
||||||
|
|
||||||
|
pid = os.getpid()
|
||||||
|
proc = [p for p in psutil.process_iter() if p.pid == pid][0]
|
||||||
|
|
||||||
|
config['moksha.monitoring.socket'] = \
|
||||||
|
'ipc:///var/run/fedmsg/monitoring-%s.socket' % proc.name
|
||||||
|
except OSError:
|
||||||
|
# We run into issues when trying to import psutil from mod_wsgi on rhel7
|
||||||
|
# but this feature is of no concern in that context, so just fail quietly.
|
||||||
|
# https://github.com/jmflinuxtx/kerneltest-harness/pull/17#issuecomment-48007837
|
||||||
|
pass
|
||||||
|
|
|
@ -4,10 +4,18 @@
|
||||||
import inspect
|
import inspect
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import psutil
|
|
||||||
import socket
|
import socket
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
|
psutil = None
|
||||||
|
try:
|
||||||
|
import psutil
|
||||||
|
except OSError:
|
||||||
|
# We run into issues when trying to import psutil from inside mod_wsgi on
|
||||||
|
# rhel7. If we hit that here, then just fail quietly.
|
||||||
|
# https://github.com/jmflinuxtx/kerneltest-harness/pull/17#issuecomment-48007837
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class ContextInjector(logging.Filter):
|
class ContextInjector(logging.Filter):
|
||||||
""" Logging filter that adds context to log records.
|
""" Logging filter that adds context to log records.
|
||||||
|
@ -57,6 +65,10 @@ class ContextInjector(logging.Filter):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_current_process():
|
def get_current_process():
|
||||||
mypid = os.getpid()
|
mypid = os.getpid()
|
||||||
|
|
||||||
|
if not psutil:
|
||||||
|
raise OSError("Could not import psutil for %r" % mypid)
|
||||||
|
|
||||||
for proc in psutil.process_iter():
|
for proc in psutil.process_iter():
|
||||||
if proc.pid == mypid:
|
if proc.pid == mypid:
|
||||||
return proc
|
return proc
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue