蚂蚁男孩.队列组件(Framework.Mayiboy.Queue)
它能做什么
主要是用来方便使用队列而诞生,该组件封装了Queue和Redis中的队列,能够通过简单配置就可以高效快速使用起来。
使用说明
一、
下载源码,自己手动编译,手动引用必要的程序集。(需要手动创建配置文件)
二、
通过NuGet安装Packages
1、在程序包管理器控制台中输入Install-Package Framework.Mayiboy.Queue 回车
2、在管理解决方案的 NuGet程序包中安装,输入蚂蚁男孩,找到蚂蚁男孩.队列组件
配置文件说明
配置文件有四种配置来源,
1、项目配置文件configSections节点配置。(在web.config文件配置configSections节点指定配置参数)
2、应用根目录路径Framework.Mayiboy.Queue.config。(在应用程序跟路径使用Framework.Mayiboy.Queue.config配置文件)
3、应用程序配置文件路径。(配置文件路径使用Framework.Mayiboy.Queue.config配置文件)
4、环境变量指定配置文件路径。(在系统环境变量中配置Framework.Mayiboy.Queue.config配置文件路径,环境变量名FRAMEWORK.MAYIBOY_QUEUE_GLOBAL_CONFIG_FILE)
配置文件参数说明
默认配置:
<?xml version="1.0" encoding="utf-8" ?>
<Framework.Mayiboy.Queue>
<!-- IsLog[true,false]:是否开启全局日志路径
ThrowException[true,false]:设置日志组件是否向应用抛出异常
InnerLogPath[filepath]:全局日志路径(当IsLog="true"有效)
-->
<!-- 队列组件全局配置 -->
<Global IsLog="True" ThrowException="true" InnerLogPath="D:\applogs\projecname.name.queue\" /> <!-- 缓存配置 -->
<Queues>
<queue Name="RunTesttime" Type="RunTime" IsAutoDeal="false"/>
<queue Name="RedisTestQueue" Type="Redis" IsAutoDeal="false" QueueID="ProjectName.QueueID" ServerIPsWrite="127.0.0.1:6379" ServerIPsReadOnly="127.0.0.1:6379" DefaultDb="1"/>
</Queues>
</Framework.Mayiboy.Queue>
Global节点配置
IsLog【true|false】:配置true时表示启用队列配置日志文件,当组件出现不可预料的异常或者是需要输出必要提示时,会将其信息写入到配置文件中。
ThrowException:【true|false】:配置true时表示当队列组件出现不可预料的异常时,组件会将异常直接抛出,终止当前执行,不会写入到日志文件中。
InnerLogPath:日志文件输出路径。
Queues节点配置
Name:队列名,用来获取队列。
Type【RunTime|Redis】属性区分使用MemQueue、Redis。
IsAutoDeal【false|true】是否自动处理,配置成true时,需要在入队列时传入处理函数,当入队时组件会自动处理队列中的消息。
RunTime表示使用使用内存队列
Type="RunTime":队列使用的是Queue
Redis表示使用Redis中的队列
使用的是Redis中的list的数据类型的的特点(按照插入顺序排序)。
ProjectName.QueueID:队列名(Redis中的Key)
ServerIPsWrite:写服务器地址,可以通过;分隔符配置多台服务器
ServerIPsReadOnly:读服务器地址,可以通过;分隔符配置多台服务器
DefaultDb:Redis Db节点(默认0)
获取队列
MemQueue:var MemQueue = QueueFactory.GetQueue("runtime");
RedisQueue:var RedisQueue = QueueFactory.GetQueue("ProjectNameQueue");
建议使用方式,新建一个QueueManager对象
public class QueueManager
{
/// <summary>
/// 内存队列
/// </summary>
public static readonly IQueue RunTesttime;
/// <summary>
/// Redis队列
/// </summary>
public static readonly IQueue RedisTestQueue;
static QueueManager()
{
RunTesttime = QueueFactory.GetQueue("runtime");
RedisTestQueue = QueueFactory.GetQueue("ProjectNameQueue");
}
}
蚂蚁男孩.队列组件(Framework.Mayiboy.Queue)的更多相关文章
- 蚂蚁男孩.缓存组件(Framework.Mayiboy.Caching)
它能做什么? 主要是用来方便使用缓存而诞生,该组件封装了RunTimeCache.Memcached.Redis的使用,通过简单配置就能高效快速使用起来. 使用说明 一. 下载源码,自己手动编译 ...
- 【Microsoft Azure学习之旅】测试消息队列(Service Bus Queue)是否会丢消息
组里最近遇到一个问题,微软的Azure Service Bus Queue是否可靠?是否会出现丢失消息的情况? 具体缘由如下, 由于开发的产品是SaaS产品,为防止消息丢失,跨Module消息传递使用 ...
- Asp.net 面向接口可扩展框架之消息队列组件
消息队列对大多数人应该比较陌生.但是要提到MQ听说过的人会多很多.MQ就是英文单词"Message queue"的缩写,翻译成中文就是消息队列(我英语差,翻译错了请告知). PS: ...
- Java中的队列:java.util.Queue接口
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作. Queue接口与List.Set同一级别,都是继承了Collection接口.Linked ...
- jQuery队列控制方法详解queue()/dequeue()/clearQueue()
queue(name,[callback]): 当只传入一个参数时, 它返回并指向第一个匹配元素的队列(将是一个函数数组,队列名默认是fx);$('#demo').queue('name') 当有两 ...
- [置顶] ※数据结构※→☆线性表结构(queue)☆============队列 顺序存储结构(queue sequence)(八)
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...
- [置顶] ※数据结构※→☆线性表结构(queue)☆============循环队列 顺序存储结构(queue circular sequence)(十)
循环队列 为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量.存储在其中的队列称为循环队列(Circular Queue). ...
- hadoop队列管理(指定queue跑程序)
hadoop 升级到cdh5后,队列管理被取消,而是统一用资源池分配. hadoop2.0版本,Hadoop采用了平级队列组织方式,,管理员可将用户分到若干个扁平队列中,在每个队列中,可指定一个或几个 ...
- 微软云消息队列 Azure service bus queue
前言 第一次使用消息队列,遇到了一些问题:同一个消息有多次出列.是一个消息只入列一次,还是多次?还是因为出列问题,出列了多次? Microsoft Azure service bus queue Az ...
随机推荐
- virtualbox Linux与Windows共享文件
安装virtualbox增强功能 在Windows下新建文件用于共享,点设置->共享文件夹->添加共享文件,制定路径和名称(名称用于Linux中挂载使用)(选择固定分配) 在Linux中m ...
- iOS9 UIWindow rootViewController
在iOS9中App被其他应用唤起的时候Crash,正常启动或者调试模式都不会Crash. 通过XCode - Window -Device,查看设备的log,如下 Assertion failure ...
- sqlserver查询区分大小写
例子: select * from tb_students where name='jay' select * from tb_students where name='JAY' 这两句查询结果是一样 ...
- IIS 6.0/7.0/7.5、Nginx、Apache 等服务器解析漏洞总结
IIS 6.0 1.目录解析:/xx.asp/xx.jpg xx.jpg可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码 IIS6.0 会将 xx.jpg 解析为 asp 文件. ...
- 莫烦python课程里面的bug修复;课程爬虫小练习爬百度百科
我今天弄了一下午修改这个代码,最后还是弄好了.原因是正则表达式的筛选不够准确,有时候是会带http:baidu这些东西的.所以需要一个正则表达式的断言,然后还有一点是如果his里面只有一个元素就不要再 ...
- linux 安装 rz sz 快速上传和下载文件
## ubuntu系统 apt install lrzsz
- Quartz教程三:Job与JobDetail介绍
Quartz教程三:Job与JobDetail介绍 原文链接 | 译文链接 | 翻译:nkcoder | 校对: 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感 ...
- chrome审查元素功能,web开发强大帮手
怎样打开Chrome的开发者工具? 你可以直接在页面上点击右键,然后选择审查元素: 或者在Chrome的工具中找到: 或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shif ...
- 2018.06.30 BZOJ1026: [SCOI2009]windy数(数位dp)
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MB Description windy定义了一种windy数.不含前导零且相邻两 ...
- head first 设计模式文摘
1 欢迎来到设计模式世界:设计模式入门 2 让你的对象知悉现况:观察者模式 3 装饰对象:装饰者模式 4 工厂模式:烘烤OO的精华 5 单件模式:独一无二的对象 6 命令模式:封装调用 7 适配器模式 ...