一  定时任务基础:

MQ:Message Queue
消息队列服务器:MSMQ、ActiveMQ、Redis等
项目任务:确定邮件的发送,重置密码的发送(发送可能会很慢,而且有可能还需要重试),用消息队列把注册过程和邮件发送过程分开

二  示例:

  //testMessageQueue.csProj

namespace testMessageQueue
{
    class Program
    {
        static void Main(string[] args)
        {
            /*
            while(true)
            {
                string email=Console.ReadLine();
                using(IRedisClient client=RedisManager.ClientManager.GetClient())
                {
                    client.EnqueueItemOnList("TestEmail", email);
                }
            }
             */

            using(IRedisClient client=RedisManager.ClientManager.GetClient())
            {
                while(true)
                {
                    string email = client.DequeueItemFromList("TestEmail");
                    if(email==null)
                    {
                        Console.WriteLine("等待输入");
                        Thread.Sleep(100);
                        continue;
                    }
                    Console.WriteLine("发送邮箱:eamil=" + email);
                }
            }

            Console.ReadKey();
        }
    }


    public class RedisManager
    {
        public static PooledRedisClientManager ClientManager { get; private set; } //内部可写,外部只能读
        static RedisManager()
        {
            RedisClientManagerConfig redisConfig = new RedisClientManagerConfig();
            redisConfig.MaxWritePoolSize = 128;
            redisConfig.MaxReadPoolSize = 128;
            ClientManager = new PooledRedisClientManager(new string[] { "127.0.0.1" }, new string[] { "127.0.0.1" }, redisConfig); //在哪几个ip上进行集群的读写分离操作

        }
    }
}
testMessageQueue.csProj

相关文章:

  • 2022-01-19
  • 2021-10-11
  • 2021-03-26
  • 2022-01-01
猜你喜欢
  • 2021-07-28
  • 2021-04-30
  • 2022-02-02
  • 2021-07-09
  • 2022-01-06
相关资源
相似解决方案