InternalEvents: catch errors from external trackers

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem

In Internal Events we call extra trackers in each loop.

If a tracker raises an exception, the iteration halts and no other extra trackers gets called.

loop:
 tracker_a -> exception
 tracker_b # not called
rescue:
 # exception it processed here

Desired outcome

Develop a recovery mechanism so error is still getting logged and all the extra trackers being called as defined in event definition

The following discussion from !174089 should be addressed:

  • @j_lar started a discussion: (+3 comments)

    Do we want to quietly quit in this case? Is it not an error?

    If so, I think it would be good to add a comment here.

Edited by Niko Belokolodov