Quartz 定时任务(含Redis)
2015-11-07 07:55
831 查看
一 定时任务基础:
MQ:Message Queue
消息队列服务器:MSMQ、ActiveMQ、Redis等
项目任务:确定邮件的发送,重置密码的发送(发送可能会很慢,而且有可能还需要重试),用消息队列把注册过程和邮件发送过程分开
二 示例:
//testMessageQueue.csProj
Timer.SendEmailForAddUser:IJob
MQ:Message Queue
消息队列服务器:MSMQ、ActiveMQ、Redis等
项目任务:确定邮件的发送,重置密码的发送(发送可能会很慢,而且有可能还需要重试),用消息队列把注册过程和邮件发送过程分开
二 示例:
//testMessageQueue.csProj
namespace DIDAO.Timer { public class SendEmailForAddUser:IJob { /// <summary> /// 接收方邮件地址(发送 新用户注册信息时) /// </summary> private string receiveEmailAddress = ConfigurationManager.AppSettings["receiveEmailAddress"]; //发送方邮箱地址 /// <summary> /// 出队列 发送新注册用户信息 /// </summary> /// <param name="context"></param> public void Execute(JobExecutionContext context) { #region 逻辑 //4 执行定时任务框架 (单独RupengTimer类库与进程中,Global中有兼容性问题) //5 执行出队列任务,获得字符串 //6 如果字符串不为null或长度大于0,发送邮件 #endregion using(IRedisClient client=RedisManager.ClientManager.GetClient()) { StringBuilder sb = new StringBuilder(); while(true) { string item = client.DequeueItemFromList(ConstStringHelper.REDIS_FRONT_QUEUELIST_ADDUSER); if (item == null) { if(sb==null || sb.Length<=0) { return; //执行下一次定时任务 } //发送邮件 SendEmailHelper.SendMail(receiveEmailAddress, "DIDAO邮件:新用户注册信息", sb.ToString()); sb.Clear(); } else { sb.AppendLine(item); } } } } } }
Timer.SendEmailForAddUser:IJob
相关文章推荐
- redis命令学习笔记
- elk+redis centos6.6安装与配置
- spring集成jedis支持redis3.0集群
- NodeJS+Redis实现分布式Session方案
- redis3.0集群状态监控for zabbix 需要python2.7
- redis3.0集群状态监控脚本用于zabbix监控需要python2.6
- redis常用命令
- java对redis各种数据类型的基本操作
- redis集群实战
- 使用HAProxy、PHP、Redis和MySQL支撑10亿请求每周架构细节
- Ubuntu下安装redis及php扩展
- ubuntu 安装redis
- Redis
- java redis
- Redis微博推的实现
- redis bitmap实现签到
- 用Redis存储Tomcat集群的Session
- Redis常用命令操作
- Redis服务器搭建/配置/及Jedis客户端的使用方法
- Redis缓存服务器的配置