如何禁用Python RQ作业的SyntaxWarning?

时间:2013-09-19 17:41:19

标签: python redis python-rq

尽量避免让RQ显示关于使用meta字典进行任意属性使用的警告消息(到控制台)。我们按指定使用它,警告继续显示。

显示的警告如下:

/usr/local/lib/python2.7/site-packages/rq/job.py:381: SyntaxWarning: Getting custom properties from the job instance directly will be unsupported as of RQ 0.4. Please use the meta dict to store all custom variables.  So instead of this:

 job.foo

Use this:

 job.meta['foo']

SyntaxWarning)

基本上,它非常烦人,因为它会干扰正常的调试活动。

有关如何禁用此功能的任何想法?

1 个答案:

答案 0 :(得分:1)

使用内置的warnings模块simplefilter method。需要使用上下文管理器。代码示例从链接部分批发复制:

import warnings

def fxn():
    warnings.warn("deprecated", DeprecationWarning)

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    fxn()

simplefilter的进一步论据允许您过滤掉您所知道的代码中特定位置的警告 - 这可能是一个好主意,因此以后出现的其他新警告不会模糊。