2 Replies Latest reply on Oct 15, 2019 1:59 AM by Prasad Veerangan

    Updating the slot using cell_tick interval

    Prasad Veerangan
      Share This:

      Dear Team,

       

      I want to update a custom slot created for Entuity event after a certain time period. Done with the below logic. However, the rule is not getting processed for any incoming Entuity event?

       

      Please let me know if my logic is correct?

       

      execute Eye_Event: MC_CELL_TICK($I)

      using {

      EYE_EVENT ($EV) where [ $EV.custom_timer_flag == 'undefined' AND $EV.status equals OPEN AND $EV.severity equals CRITICAL AND $EV.mc_parameter contains 'Port Status Problem' AND ($EV.date_reception >= time_stamp() - 720 ) ]

      }

      when $I.status within ["OPEN"]

      {

      $EV.custom_timer_flag = 'OFF';

      ntadd( $EV, 'Celltickinterval has been executed');

      }

      END

        • 1. Re: Updating the slot using cell_tick interval
          Brendan Murray

          Hi Prasad,

           

          According to this post by Charles Kelley, the first MC_CELL_TICK generated by the cell stays open all the time and is just updated by a rule as each new MC_CELL_TICK arrives. The rule then drops the new MC_CELL_TICK event, which prevents it from being processed further.

           

          Your rule uses the execute rule phase. The execute phase is triggered when an event slot changes. Your when clause uses the status slot of the MC_CELL_TICK event, which will never change. If the slot doesn't change, your rule won't execute. According to Charles, the rule that updates MC_CELL_TICK increments the repeat_count slot. Your when clause should use that slot since it will be updated by every new cell tick.

           

          Regards,

           

          Brendan

          • 2. Re: Updating the slot using cell_tick interval
            Prasad Veerangan

            HI      Berndan,

             

            Thanks for the insight.

             

            Have amended the logic with the new rule phase.

             

            new Eye_Event: MC_CELL_TICK($I)

            where [$I.status == 'OPEN']

            using {

            EYE_EVENT ($EV) where [ $EV.custom_timer_flag == 'undefined' AND $EV.status == 'OPEN' AND $EV.mc_parameter contains 'Port Status Problem' AND ($EV.date_reception >= time_stamp() - 20) ]

            }

            triggers

            {

            $EV.custom_timer_flag = 'OFF';

            ntadd( $EV, 'Celltickinterval has been executed');

            }

            END