为raven python(sentry客户端)的Gunicorn添加挂钩

为raven python(sentry客户端)的Gunicorn添加挂钩,python,gunicorn,sentry,raven,Python,Gunicorn,Sentry,Raven,我想知道,为了让raven运行,我会在我的代码或gunicorn的代码中放入这些内容 有点晚了,但无论如何:) 您需要将其添加到Gunicorn配置文件中。例如,当您向上旋转gunicorn\u django时,可以向其传递一个-c(--config)参数,该参数采用python文件的路径 Gunicorn将使用此文件加载未作为参数传递的配置设置,如工作进程和日志路径等。但您也可以包含Gunicorn将在进程生命周期的某些点调用的函数。根据raven文档,这是您放置raven设置的地方 例如:

我想知道,为了让raven运行,我会在我的代码或gunicorn的代码中放入这些内容

有点晚了,但无论如何:)

您需要将其添加到Gunicorn配置文件中。例如,当您向上旋转
gunicorn\u django
时,可以向其传递一个
-c
--config
)参数,该参数采用python文件的路径

Gunicorn将使用此文件加载未作为参数传递的配置设置,如工作进程和日志路径等。但您也可以包含Gunicorn将在进程生命周期的某些点调用的函数。根据raven文档,这是您放置raven设置的地方

例如:

$ gunicorn_django -c /path/to/gunicorn_settings.py
该文件可能包含以下内容:

小心确保正确导出您的
DJANGO\u设置\u模块
,否则
call\u命令('validate')
将抛出一个
SystemExit
,您的进程将无法启动


您可以在以下位置阅读有关Gunicorn配置文件的更多信息:

是否真的还需要这个?我知道raven医生建议增加这个钩子,但我不明白为什么有必要。我没有任何问题,即使我没有添加这个钩子。有一个github票证,关于这个call_命令('validate')正在抛出一个SystemExit,如何正确导出DJANGO_设置_模块@krak3您需要将其导出为环境变量。运行Gunicorn时,请尝试使用以下命令运行:Gunicorn-b 127.0.0.1:8000--env DJANGO_SETTINGS_MODULE=path.to.SETTINGS您还可以在Gunicorn配置文件中设置环境变量。Gunicorn salon.wsgi-c salon/Gunicorn.conf.py--env DJANGO_SETTINGS_MODULE=salon.SETTINGS,但返回:“导入错误:无法导入设置‘salon.settings’(是否在sys.path上?设置文件中是否存在导入错误?):没有名为salon.settings的模块“我不知道你的应用程序设置,它给了你一些提示,告诉你可能会出现什么问题,你的应用程序需要在python路径上,安装是否正确等等?请在python打包中查看以下内容:
workers = 2
bind = 'unix:/tmp/my_project_name.sock'  # Binds to a unix socket rather than ip/port
errorlog = '/path/to/logs/gunicorn.error.log'

def when_ready(server):
    from django.core.management import call_command
    call_command('validate')