Example #1
0
 def enqueue(self, tag, data, schedule = None, error_times=0, channel=None):
     with self.open(channel):
         self.setup_tag(tag)
         msg = Message()
         msg.properties['delivery_mode'] = 2
         body = {'i': self.gensym(), 'c': data, 'e': error_times}
         id = None
         if schedule:
             ttl = round_by_accuracy(get_millis_to_the_date(schedule), self.SCHEDULING_ACCURACY)
             ttl1 = min(ttl, self.TTL_MAX)
             stag = ('%s.%s' % (self.get_tag(tag, 'SCHEDULE'), str(ttl1), ))
             self.channel.queue_declare(
                 queue=stag, durable=True, auto_delete=False,
                 arguments = { 'x-message-ttl' : ttl1, "x-dead-letter-exchange" : self.get_tag(tag, 'EXCHANGE') }
             )
             body['s'] = schedule.strftime(self.TIME_FORMAT)
             msg.body = self.serializer(body)
             id = self.channel.basic_publish(msg, routing_key=stag)
             log(" [%s] Sent scheduled -> ttl: %s(%s) schedule: %s" % (body['i'], ttl1, ttl, body['s'], ))
         else:
             rtag = self.get_tag(tag, 'READY')
             msg.body = self.serializer(body)
             id = self.channel.basic_publish(msg, routing_key=rtag)
             log(" [%s] Sent immediate -> tag: %s" % (body['i'], rtag))
         return body['i']
Example #2
0
    def check_proplist(self, msg):
        """
        Check roundtrip processing of a single object

        """
        raw_properties = msg._serialize_properties()

        new_msg = Message()
        new_msg._load_properties(raw_properties)
        new_msg.body = msg.body

        self.assertEqual(msg, new_msg)
    def check_proplist(self, msg):
        """
        Check roundtrip processing of a single object

        """
        raw_properties = msg._serialize_properties()

        new_msg = Message()
        new_msg._load_properties(raw_properties)
        new_msg.body = msg.body

        self.assertEqual(msg, new_msg)