拒绝的是python rabbitmq使用者框架和控制器守护进程

rejected的Python项目详细描述


拒绝的是amqp使用者守护进程和消息处理框架。它允许 通过处理所有 与rabbitmq通信和用户管理的核心功能 过程。

拒绝作为具有多个使用者配置的主进程运行 每个进程都是独立运行的。它有能力收集统计数据 来自消费者流程的数据并报告。

拒绝支持Python2.7和3.4+。

VersionStatusCoverageLicense

功能

  • 自动异常处理,包括连接管理和使用者重新启动
  • 能够根据消息头自动解码和反序列化消息体的智能使用者类
  • 指标记录和提交给statsd和influxdb
  • 内置的用户代码分析
  • 能够在使用者中编写异步代码,允许与外部资源进行并行通信

示例消费者

fromrejectedimportconsumerimportloggingLOGGER=logging.getLogger(__name__)classTest(consumer.Consumer):defprocess(self,message):LOGGER.debug('In Test.process: %s'%message.body)

异步消费者

要使使用者异步,可以将 Consumer.prepareConsumer.process 使用龙卷风的方法 @gen.coroutine。 异步使用者不允许在同一进程中并发处理多个消息,但是 而是允许您使用异步客户端,如 Tornado’sAsyncHTTPClientQueries PostgreSQL库,在处理单个消息时使用协程执行并行任务。

importloggingfromrejectedimportconsumerfromtornadoimportgenfromtornadoimporthttpclientclassAsyncExampleConsumer(consumer.Consumer):@gen.coroutinedefprocess(self):LOGGER.debug('Message: %r',self.body)http_client=httpclient.AsyncHTTPClient()results=yield[http_client.fetch('http://www.github.com'),http_client.fetch('http://www.reddit.com')]LOGGER.info('Length: %r',[len(r.body)forrinresults])

示例配置

%YAML1.2---Application:poll_interval:10.0stats:log:Trueinfluxdb:enabled:Truescheme:httphost:localhostport:8086user:usernamepassword:passworddatabase:dbnamestatsd:enabled:Truehost:localhostport:8125prefix:applications.rejectedConnections:rabbitmq:host:localhostport:5672user:guestpass:guestssl:Falsevhost:/heartbeat_interval:300Consumers:example:consumer:rejected.example.Consumersentry_dsn:https://[YOUR-SENTRY-DSN]connections:-name:rabbitmq1consume:Truedrop_exchange:dlxnameqty:2queue:generated_messagesqos_prefetch:100ack:Truemax_errors:100config:foo:Truebar:bazDaemon:user:rejectedgroup:daemonpidfile:/var/run/rejected/example.%(pid)s.pidLogging:version:1formatters:verbose:format:"%(levelname)-10s%(asctime)s%(process)-6d%(processName)-25s%(name)-20s%(funcName)-25s:%(message)s"datefmt:"%Y-%m-%d%H:%M:%S"verbose_correlation:format:"%(levelname)-10s%(asctime)s%(process)-6d%(processName)-25s%(name)-20s%(funcName)-25s:%(message)s{CID%(correlation_id)s}"datefmt:"%Y-%m-%d%H:%M:%S"syslog:format:"%(levelname)s<PID%(process)d:%(processName)s>%(name)s.%(funcName)s:%(message)s"syslog_correlation:format:"%(levelname)s<PID%(process)d:%(processName)s>%(name)s.%(funcName)s:%(message)s{CID%(correlation_id)s)"filters:correlation:'()':rejected.log.CorrelationFilter'exists':Trueno_correlation:'()':rejected.log.CorrelationFilter'exists':Falsehandlers:console:class:logging.StreamHandlerformatter:verbosedebug_only:falsefilters:[no_correlation]console_correlation:class:logging.StreamHandlerformatter:verbose_correlationdebug_only:falsefilters:[correlation]syslog:class:logging.handlers.SysLogHandlerfacility:daemonaddress:/var/run/syslogformatter:syslogfilters:[no_correlation]syslog_correlation:class:logging.handlers.SysLogHandlerfacility:daemonaddress:/var/run/syslogformatter:syslogfilters:[correlation]loggers:helper:level:INFOpropagate:truehandlers:[console,console_correlation,syslog,syslog_correlation]rejected:level:INFOpropagate:truehandlers:[console,console_correlation,syslog,syslog_correlation]tornado:level:INFOpropagate:truehandlers:[console,console_correlation,syslog,syslog_correlation]disable_existing_loggers:trueincremental:false

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

推荐PyPI第三方库


热门话题
java 401在API URL上带有声明性Http客户端,并带有@Secured(SecurityRule.IS_ANONYMOUS)注释   java如何在Android中创建计时器?   Java8WebStart安全弹出窗口   java会通过以下两种方式导致堆空间耗尽吗?   java项目调度GA:染色体的高效数据结构   java Apache POI:如何在Excel文件中插入列   java在JRE系统库中每个jar扮演什么角色   java如何在抽象类中执行@mock(不是注入mock)   java如何使用opensearch和Lucene发送搜索查询?   java在ApachePOI中处理空列   java广播接收器未接收到目标   java错误ELF类:ELF类64(可能原因:体系结构字宽不匹配)   java调用Web服务(SSL)时出错   用于iot集线器设备固件更新的java Rest API   通过xslt将xml转换为文本文件时引发java异常   Java linux打印问题   Java XML转换器重复行   java从另一个类的方法将数组导入mainActivity类   多线程选择与Java交互的线程   我想在java程序中打印以下格式的文件: