Пример #1
0
 def _event_messages(self):
     messages = {}
     for event_type in self.events:
         if event_type in self.event_queue:
             label = event_label(event_type)
             if not self.event_queue[event_type]:
                 messages[label] = ['none']
             elif len(self.event_queue[event_type]) > self.max_events:
                 messages[label] = [
                     "more than {} events, check logs.".format(
                         self.max_events)
                 ]
             else:
                 messages[label] = []
                 for event in self.event_queue[event_type]:
                     try:
                         # only "failure" is a dict
                         msg = "Task: {}; Exception: {}".format(
                             event['task'], event['exception'])
                         messages[label].append(
                             "Task: {}; Exception: {}".format(
                                 event['task'], event['exception']))
                     except TypeError:
                         # all the other events are str
                         messages[label].append(event)
     return messages
Пример #2
0
 def _format_message(self):
     job = os.path.basename(inspect.stack()[-1][1])
     title = "*Status report for {}*".format(job)
     if self._only_success():
         if SUCCESS in self.events:
             messages = {event_label(SUCCESS): ["Job ran successfully!"]}
             success = True
         else:
             return None
     else:
         messages = self._event_messages()
         success = False
     return SlackMessage(title=title, fields=messages, success=success)
Пример #3
0
 def _message_append_events(self, messages):
     for event_type in self.events:
         if event_type in self.event_queue:
             label = event_label(event_type)
             messages.append(label)
             if len(self.event_queue[event_type]) > self.max_events:
                 messages.append("More than {} events of type {}. Please check logs.".format(self.max_events, label))
             else:
                 for event in self.event_queue[event_type]:
                     try:
                         # only "failure" is a dict
                         messages.append("Task: {}; Exception: {}".format(event['task'], event['exception']))
                     except TypeError:
                         # all the other events are str
                         messages.append(event)
     return messages
Пример #4
0
 def _format_message(self):
     job = os.path.basename(inspect.stack()[-1][1])
     title = "*Status report for {}*".format(job)
     if self._only_success():
         if SUCCESS in self.events:
             messages = {event_label(SUCCESS): ["Job ran successfully!"]}
             success = True
         else:
             return None
     else:
         messages = self._event_messages()
         success = False
     if self._print_env:
         env_to_print = [
             "{}={}".format(env_var, os.environ.get(env_var, ''))
             for env_var in self._print_env
         ]
         messages['Environment'] = env_to_print
     return SlackMessage(title=title, fields=messages, success=success)
Пример #5
0
 def _event_messages(self):
     messages = {}
     for event_type in self.events:
         if event_type in self.event_queue:
             label = event_label(event_type)
             if not self.event_queue[event_type]:
                 messages[label] = ['none']
             elif len(self.event_queue[event_type]) > self.max_events:
                 messages[label] = ["more than {} events, check logs.".format(self.max_events)]
             else:
                 messages[label] = []
                 for event in self.event_queue[event_type]:
                     try:
                         # only "failure" is a dict
                         msg = "Task: {}; Exception: {}".format(event['task'], event['exception'])
                         messages[label].append("Task: {}; Exception: {}".format(event['task'], event['exception']))
                     except TypeError:
                         # all the other events are str
                         messages[label].append(event)
     return messages