io通用Python库。

ratchet的Python项目详细描述


pyratchet是一个通用库,用于向Ratchet.io

import ratchet, sys
ratchet.init('YOUR_ACCESS_TOKEN', 'production')  # access_token, environment

try:
    main_app_loop()
except IOError:
    ratchet.report_message('Got an IOError in the main loop', 'warning')
except:
    # catch-all
    ratchet.report_exc_info(sys.exc_info())

要求

Pyratchet要求:

  • python 2.6或2.7
  • 请求0.12+
  • 棘轮IO账户

安装

使用pip安装:

pip install ratchet

配置

对于通用python或非django/非金字塔框架,请遵循以下说明:

在初始化代码的某个地方,使用访问令牌调用ratchet.init():

ratchet.init('YOUR_ACCESS_TOKEN_HERE', environment='production')

其他选项可以作为关键字参数传递。有关所有选项,请参阅下面的参考。

如果要与django集成,请遵循以下说明:

  1. settings.py中,添加'ratchet.contrib.django.middleware.RatchetNotifierMiddleware'作为MIDDLEWARE_CLASSES中的最后一项:

    MIDDLEWARE_CLASSES = (
        # ... other middleware classes ...
        'ratchet.contrib.django.middleware.RatchetNotifierMiddleware',
    )
    
  2. 将这些配置变量添加到settings.py

    RATCHET = {
        'access_token': 'YOUR_ACCESS_TOKEN_HERE',
        'environment': 'development' if DEBUG else 'production',
        'branch': 'master',
        'root': '/absolute/path/to/code/root',
    }
    

如果要与棱锥体集成,请遵循以下说明:

  1. ini文件(例如production.ini)中,将ratchet.contrib.pyramid添加到pyramid.includes

    [app:main]
    pyramid.includes =
        pyramid_debugtoolbar
        ratchet.contrib.pyramid
    
  2. 添加这些棘轮配置变量:

    [app:main]
    ratchet.access_token = YOUR_ACCESS_TOKEN_HERE
    ratchet.environment = production
    ratchet.branch = master
    ratchet.root = %(here)s
    

上面将配置Ratchet来捕获和报告金字塔应用程序中发生的所有异常。但是,如果有任何中间件 应用程序包装你的应用程序,棘轮将无法捕捉异常。

为了捕获来自金字塔和中间件代码的异常,您将需要创建一个pipeline,棘轮中间件将包装您的金字塔应用程序。

  • ini文件更改为使用pipeline

    From
    
    [app:main]
    ...
    
    To
    
    [pipeline:main]
    pipeline =
        ratchet
        YOUR_APP_NAME
    
    [app:YOUR_APP_NAME]
    pyramid.includes =
        pyramid_debugtoolbar
        ratchet.contrib.pyramid
    
    [filter:ratchet]
    access_token = YOUR_ACCESS_TOKEN_HERE
    environment = production
    branch = master
    root = %(here)s
    

不幸的是,棘轮之间和棘轮滤波器配置包含重复的信息。我们将在未来的版本中进行修复。

用法

Django和Pyramid集成将自动向Ratchet报告未发现的异常。

调用ratchet.report_exc_info()报告异常,或ratchet.report_message()报告任意字符串消息。有关详细信息,请参阅docstrings。

配置参考

访问令牌
从Ratchet.io项目访问令牌
处理程序

其中之一:

  • 阻塞-在主线程中运行
  • 线程–生成新线程
  • 代理–将消息写入日志文件以供棘轮代理使用

默认值:thread

环境
环境名称。最多255个字符的任何字符串都可以。为了获得最佳效果,请在您的生产环境中使用“生产”。
应用程序根目录的绝对路径,不包括最后的/
分支 已签出分支的名称。

默认值:master

代理日志文件
如果handleragent,则为日志文件的路径。文件名必须以.ratchet
结尾
终点

URL项目已发布到。

默认值:https://submit.ratchet.io/api/1/item/

清理字段

要从文章中删除的字段名列表。值将替换为astrickse。如果覆盖,请确保列出所有要清除的字段,而不仅仅是要添加到默认值的字段。在与清理列表进行比较之前,参数名称将转换为小写。

默认值['passwd', 'password', 'secret', 'confirm_password', 'password_confirmation']

开发人员资源

保持联系!我们很想听听你的想法,我们很乐意帮忙。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaJSonarray不会从SeekBar读取double   使用另一个类从Java中的2D数组打印用户输入   java ClassNotFoundException的原因   spring调用两个方法以返回Java中的不同页面   httpurlconnection Java禁止的代码错误,但浏览器错误(2)   java画布矩阵转换   java:在另一个java映射中使用“Map”作为值   java“未找到用于解密的证书”(Apache CXF,WSSecurity)   java如何查看JTable中选择的行   java在没有xmlwrappers的情况下重复xml元素序列集   java将垂直直方图打印到控制台   java Spring JDBCTemplate:构造不带特殊字符的JSON   java PayPal RestApi获取用户信息