123456789101112131415161718192021222324252627282930313233343536373839 |
- using InitQ.Abstractions;
- using InitQ.Attributes;
- using InitQ.Cache;
- using InitQ.Model;
- using Newtonsoft.Json;
- using System;
- using System.Threading.Tasks;
- namespace Ropin.Environmentally.WebScada.Subscribe
- {
- public class RedisIntervalSubscribeBoxno : IRedisSubscribe
- {
- private readonly ICacheService _redisService;
- public RedisIntervalSubscribeBoxno(ICacheService redisService)
- {
- _redisService = redisService;
- }
- [SubscribeInterval("tibos_interval_test_1", 0, "2,3,5,10", 1, "dead_tibos_test_1")]
- private async Task SubscribeIntervalTest(string msg)
- {
- try
- {
- Console.WriteLine($"A类间隔执行--->当前时间:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} 订阅者A消费消息:{msg}");
- //计数器,用于校验任务是否终止
- await _redisService.IncrementAsync("tibos_interval_test_count", TimeSpan.FromDays(365));
- await _redisService.ListLeftPushAsync<IntervalMessage>("tibos_interval_test_1", JsonConvert.DeserializeObject<IntervalMessage>(msg));
- }
- catch (Exception ex)
- {
- await _redisService.SetAsync("tibos_interval_test_error", $"{ex.Message}|{ex.StackTrace}");
- }
- }
- }
- }
|