为Gunicorn添加一个钩子用于raven-python(哨兵客户端)

时间:2013-01-09 11:27:09

标签: python gunicorn sentry raven

我想知道我会把它放到我的代码或者gunicorn中,以便让乌鸦跑起来。 http://raven.readthedocs.org/en/latest/config/django.html#gunicorn

1 个答案:

答案 0 :(得分:3)

迟到但无论如何:)

您需要将此添加到Gunicorn配置文件中。例如,当您启动gunicorn_django时,您可以传递-c--config)参数,该参数将获取python文件的路径。

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

例如:

$ gunicorn_django -c /path/to/gunicorn_settings.py

该文件可能包含以下内容:

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')

小心确保正确导出DJANGO_SETTINGS_MODULE,否则call_command('validate')会抛出SystemExit,您的流程将无法启动。

您可以在http://docs.gunicorn.org/en/latest/configure.html

上阅读有关Gunicorn配置文件的更多信息