public void SubscribeMessages() { _messagesCollection = _connection.Observe("messages") .Where(m => m.Data?.Any() == true) .Select(m => Serialization.DeserializeMessage(Encoding.UTF8.GetString(m.Data))); _messagesCollection.Subscribe(message => { message.RECEIPT_TIME = DateTime.Now; _testDbContext.MESSAGES.Add(message); _testDbContext.SaveChanges(); }); }
public void Run(IConnection connection) { string currentDirectoryPath = Directory.GetCurrentDirectory(); string jsonPath = Directory.GetParent(currentDirectoryPath) + "/config/config.json"; var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(jsonPath, optional: false) .Build(); INATSObservable <string> events = connection.Observe(config.GetValue <string>("NatsBus")) .Select(m => Encoding.Default.GetString(m.Data)); events.Subscribe(id => TextRanker.CalculateRank(id, RedisDbContext.GetDesription(id))); }
/// <summary> /// Subscribes a delegating observer. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="ob"></param> /// <param name="onNext"></param> /// <param name="onError"></param> /// <param name="onCompleted"></param> /// <returns></returns> public static IDisposable Subscribe <T>(this INATSObservable <T> ob, Action <T> onNext, Action <Exception> onError = null, Action onCompleted = null) => (ob ?? throw new ArgumentNullException(nameof(ob))).Subscribe(new DelegatingObserver <T>(onNext, onError, onCompleted));
public WhereObservable(INATSObservable <T> src, Func <T, bool> predicate) { this.src = src ?? throw new ArgumentNullException(nameof(src)); this.predicate = predicate ?? throw new ArgumentNullException(nameof(predicate)); }
public MapObservable(INATSObservable <TSrc> src, Func <TSrc, TResult> predicate) { this.src = src ?? throw new ArgumentNullException(nameof(src)); this.mapper = predicate ?? throw new ArgumentNullException(nameof(predicate)); }