def _publish(self, key, shard, message): assert isinstance(message, BaseMessage), "Unexpected message class" if message.expiration_time: delta = message.expiration_time - time.time() if delta < 0: self.log( "Not sending expired message. msg=%s, shard=%s, " "key=%s, delta=%r", message, shard, key, delta ) return serialized = self.serializer.convert(message) content = Content(serialized) content.properties["delivery mode"] = 1 # non-persistent self.log("Publishing msg=%s, shard=%s, key=%s", message, shard, key) if shard is None: self.error( "Tried to send message to exchange=None. This would " "mess up the whole txamqp library state, therefore " "this message is ignored" ) return defer.succeed(None) d = self.channel.basic_publish(exchange=shard, content=content, routing_key=key, immediate=False) d.addCallback(defer.drop_param, self.channel.tx_commit) d.addCallback(defer.override_result, message) return d
def publish(self, key, shard, message): assert isinstance(message, BaseMessage) serialized = self.serializer.convert(message) content = Content(serialized) content.properties['delivery mode'] = 1 # non-persistent self.log('Publishing msg=%s, shard=%s, key=%s', message, shard, key) d = self.channel.basic_publish(exchange=shard, content=content, routing_key=key, immediate=False) d.addCallback(self.tx_commit) return d
def _publish(self, key, shard, message): assert isinstance(message, BaseMessage), "Unexpected message class" if message.expiration_time: delta = message.expiration_time - time.time() if delta < 0: self.log('Not sending expired message. msg=%s, shard=%s, ' 'key=%s, delta=%r', message, shard, key, delta) return serialized = self.serializer.convert(message) content = Content(serialized) content.properties['delivery mode'] = 1 # non-persistent self.log('Publishing msg=%s, shard=%s, key=%s', message, shard, key) d = self.channel.basic_publish(exchange=shard, content=content, routing_key=key, immediate=False) d.addCallback(defer.drop_param, self.channel.tx_commit) d.addCallback(defer.override_result, message) return d