示例#1
0
    def check_msg_retries(self, message, zyre_msg_type, **kwargs):
        msg_type = message['header']['type']
        if msg_type not in self.message_types:
            return
        msg_id = message['header']['msgId']
        queued_msg = self.unacknowledged_msgs.get(msg_id, None)
        if queued_msg:
            retry = queued_msg.get('retry_number', 0)
            self.unacknowledged_msgs[msg_id]['retry_number'] = retry + 1
            self.unacknowledged_msgs[msg_id][
                'last_retry'] = self.unacknowledged_msgs[msg_id]['next_retry']

        else:
            self.unacknowledged_msgs[msg_id] = dict()
            self.unacknowledged_msgs[msg_id]['retry_number'] = 0
            current_ts = ts.get_time_stamp()
            self.unacknowledged_msgs[msg_id]['first_attempt'] = current_ts
            self.unacknowledged_msgs[msg_id]['last_retry'] = current_ts
            self.unacknowledged_msgs[msg_id]['zyre_msg_type'] = zyre_msg_type
            if 'receiverIds' in message['header'].keys():
                self.unacknowledged_msgs[msg_id]['receiverIds'] = message[
                    'header']['receiverIds']
            else:
                self.unacknowledged_msgs[msg_id]['receiverIds'] = list()
            self.unacknowledged_msgs[msg_id]['msg_args'] = dict()
            self.unacknowledged_msgs[msg_id]['msg_args']['msg'] = message
            self.unacknowledged_msgs[msg_id]['msg_args'].update(kwargs)
            deadline = timedelta(seconds=5**5)
            self.unacknowledged_msgs[msg_id]['reply_by'] = ts.get_time_stamp(
                deadline)

        # TODO This needs to be probably adapted by message type
        next_attempt = timedelta(seconds=5)
        self.unacknowledged_msgs[msg_id]['next_retry'] = ts.get_time_stamp(
            next_attempt)
示例#2
0
 def add_next_retry(self, msg_id):
     retry = self.unacknowledged_msgs[msg_id]['retry_number']
     timeout = 5**retry
     next_attempt = timedelta(seconds=timeout)
     self.unacknowledged_msgs[msg_id][
         'last_retry'] = self.unacknowledged_msgs[msg_id]['next_retry']
     self.unacknowledged_msgs[msg_id]['next_retry'] = ts.get_time_stamp(
         next_attempt)
     self.unacknowledged_msgs[msg_id]['retry_number'] = retry + 1