def METHOD_NAME(self, now):
    if self.ended:
        return
    # While active, keep checking fail/success conditions.
    # No expire time - Event should have both failure and success conditions set.
    if self.expire_time == -1 or self.expire_time >= now:
        if self.failure_condition and ConditionChecker.validate(self.failure_condition, self.source, self.target):
            self.end_event(False)
        elif self.success_condition and ConditionChecker.validate(self.success_condition, self.source, self.target):
            self.end_event(True)
    else:
        self.end_event(False)