code: def scatter_master_notifications(self):
          now = time.time()
          notifications = [a for a in self.actions.values()
                           if a.is_a == u'notification' and a.status == ACT_STATUS_SCHEDULED
                           and not a.contact and a.is_launchable(now)]
          if notifications:
              logger.debug("Scatter master notification: %d notifications",
                           len(notifications))
          for notification in notifications:
              logger.debug("Scheduler got a master notification: %s", notification)
              item = self.find_item_by_id(notification.ref)
              children = []
              notification_period = None
              if getattr(item, 'notification_period', None) is not None:
                  notification_period = self.timeperiods[item.notification_period]
              if not item.is_blocking_notifications(notification_period,
                                                    self.hosts, self.services,
                                                    notification.type, now):
                  children = item.scatter_notification(
                      notification, self.contacts, self.notificationways, self.timeperiods,
                      self.macromodulations, self.escalations,
                      self.find_item_by_id(getattr(item, "host", None))
                  )
                  for notif in children:
                      logger.debug(" - child notification: %s", notif)
                      notif.status = ACT_STATUS_SCHEDULED
                      self.add(notif)
              if notification.type == u'PROBLEM':
                  if children:
                      item.current_notification_number = notification.notif_nb
                  if item.notification_interval and notification.t_to_go is not None:
                      notification.t_to_go = item.get_next_notification_time(notification,
                                                                             self.escalations,
                                                                             self.timeperiods)
                      notification.notif_nb = item.current_notification_number + 1
                      logger.debug("Repeat master notification: %s", notification)
                  else:
                      item.remove_in_progress_notification(notification)
                      logger.debug("Remove master notification (no repeat): %s", notification)
              else:
                  logger.debug("Remove master notification (no more a problem): %s", notification)
                  item.remove_in_progress_notification(notification)