/// <summary> /// The Execute() function will be called, when a new tuple is available. /// </summary> /// <param name="tuple"></param> public void Execute(SCPTuple tuple) { if (tuple.GetSourceStreamId().Equals(Constants.SYSTEM_TICK_STREAM_ID)) { if (partialCount > 0) { Context.Logger.Info("updating database" + ", partialCount: " + partialCount + ", totalCount: " + totalCount); db.insertValue(CurrentTimeMillis(), partialCount); partialCount = 0L; if (enableAck) { Context.Logger.Info("tuplesToAck: " + tuplesToAck); foreach (var tupleToAck in tuplesToAck) { this.ctx.Ack(tupleToAck); } tuplesToAck.Clear(); } } } else { //Merge partialCount from all PartialCountBolt tasks var incomingPartialCount = tuple.GetLong(0); partialCount += incomingPartialCount; totalCount += incomingPartialCount; //Do no ack here but add to the acking queue if (enableAck) { tuplesToAck.Enqueue(tuple); } } }
/// <summary> /// The Execute() function will be called, when a new tuple is available. /// </summary> /// <param name="tuple"></param> public void Execute(SCPTuple tuple) { if (tuple.GetSourceStreamId().Equals(Constants.SYSTEM_TICK_STREAM_ID)) { if (partialCount > 0) { Context.Logger.Info("updating database" + ", partialCount: " + partialCount + ", totalCount: " + totalCount); db.insertValue(CurrentTimeMillis(), partialCount); partialCount = 0L; } } else { //Merge partialCount from all PartialCountBolt tasks var incomingPartialCount = tuple.GetLong(0); partialCount += incomingPartialCount; totalCount += incomingPartialCount; } }