def handle_delivery(self, channel, method, header, body): """Handle delivery from WFE.""" LOG.debug("Method: %r" % method) LOG.debug("Header: %r" % header) LOG.debug("Body: %r" % body) settings = dict(self.config.items(SECTION_TASKQUEUE)) try: workitem = get_workitem( header, body, settings.get('workitem_type_map', None), settings.get('default_workitem_type', DEFAULT_CONTENT_TYPE)) except WorkitemError as err: # Report error and accept message LOG.error("%s" % err) channel.basic_ack(method.delivery_tag) return worker = workitem.worker_type channel.basic_publish(exchange='', routing_key='worker_%s' % worker, body=body, properties=pika.BasicProperties( delivery_mode=2, content_type=header.content_type)) channel.basic_ack(method.delivery_tag)
def handle_delivery(self, channel, method, header, body): """Handle delivery from WFE.""" LOG.debug("Method: %r" % method) LOG.debug("Header: %r" % header) LOG.debug("Body: %r" % body) settings = dict(self.config.items(SECTION_TASKQUEUE)) try: workitem = get_workitem(header, body, settings.get('workitem_type_map', None), settings.get('default_workitem_type', DEFAULT_CONTENT_TYPE)) except WorkitemError as err: # Report error and accept message LOG.error("%s" % err) channel.basic_ack(method.delivery_tag) return worker = workitem.worker_type channel.basic_publish(exchange='', routing_key='worker_%s' % worker, body=body, properties=pika.BasicProperties( delivery_mode=2, content_type=header.content_type )) channel.basic_ack(method.delivery_tag)
def handle_delivery(self, channel, method, header, body): """Handle AMQP message. :param channel: AMQP channel :type channel: pika.channel.Channel :param method: message's method :type method: pika.frame.Method :param header: message header :type header: pika.frame.Header :param body: message body :type body: string """ LOG.debug("Method: %r" % method) LOG.debug("Header: %r" % header) try: workitem = get_workitem(header, body, self.settings.get('workitem_type_map', None), self.settings.get('default_workitem_type', DEFAULT_CONTENT_TYPE)) except WorkitemError as err: LOG.error("Worker %s.%s can't handle delivery with header '%r' " "and body:\n%s" % (self.__module__, self.__class__.__name__, header, body)) channel.basic_ack(method.delivery_tag) return False wi_out = workitem if self.is_acceptable(workitem): try: wi_out = self.handle_task(workitem) except Exception as err: wi_out.set_error(str(err)) wi_out.set_trace(traceback.format_exc()) else: wi_out.set_error("Worker doesn't support this type of workitems") self.report_results(channel, wi_out) channel.basic_ack(method.delivery_tag) return True
def handle_delivery(self, channel, method, header, body): """Handle AMQP message. :param channel: AMQP channel :type channel: pika.channel.Channel :param method: message's method :type method: pika.frame.Method :param header: message header :type header: pika.frame.Header :param body: message body :type body: string """ LOG.debug("Method: %r" % method) LOG.debug("Header: %r" % header) try: workitem = get_workitem( header, body, self.settings.get('workitem_type_map', None), self.settings.get('default_workitem_type', DEFAULT_CONTENT_TYPE)) except WorkitemError as err: LOG.error("Worker %s.%s can't handle delivery with header '%r' " "and body:\n%s" % (self.__module__, self.__class__.__name__, header, body)) channel.basic_ack(method.delivery_tag) return False wi_out = workitem if self.is_acceptable(workitem): try: wi_out = self.handle_task(workitem) except Exception as err: wi_out.set_error(str(err)) wi_out.set_trace(traceback.format_exc()) else: wi_out.set_error("Worker doesn't support this type of workitems") self.report_results(channel, wi_out) channel.basic_ack(method.delivery_tag) return True