Exemple #1
0
 def send_reply(self, request, result):
     """
     Send the reply if requested.
     :param request: The received request.
     :type request: Document
     :param result: The request result.
     :type result: object
     """
     sn = request.sn
     data = request.data
     ts = request.ts
     now = time()
     duration = Timer(ts, now)
     address = request.replyto
     log.info('sn=%s processed in: %s', sn, duration)
     if not address:
         return
     try:
         self.producer.send(
             address,
             sn=sn,
             data=data,
             result=result,
             timestamp=timestamp())
     except Exception:
         log.exception('send failed: %s', result)
Exemple #2
0
 def send_reply(self, request, result):
     """
     Send the reply if requested.
     :param request: The received request.
     :type request: Document
     :param result: The request result.
     :type result: object
     """
     sn = request.sn
     data = request.data
     ts = request.ts
     now = time()
     duration = Timer(ts, now)
     address = request.replyto
     log.info('Request: %s processed in: %s', sn, duration)
     if not address:
         return
     try:
         self.producer.send(address,
                            sn=sn,
                            data=data,
                            result=result,
                            timestamp=timestamp())
     except Exception:
         log.exception('Send: reply, failed: %s', result)
Exemple #3
0
 def _send(self, request, status, **details):
     """
     Send a status update.
     :param request: The received (json) request.
     :type request: Document
     :param status: The status to send ('accepted'|'rejected')
     :type status: str
     """
     address = request.replyto
     if not address:
         return
     try:
         producer = Producer(self.url)
         producer.authenticator = self.authenticator
         producer.open()
         try:
             producer.send(
                 address,
                 sn=request.sn,
                 data=request.data,
                 status=status,
                 timestamp=timestamp(),
                 **details)
         finally:
             producer.close()
     except Exception:
         log.exception('send (%s), failed', status)
Exemple #4
0
 def send_started(self, request):
     """
     Send the a status update if requested.
     :param request: The received request.
     :type request: Document
     """
     sn = request.sn
     data = request.data
     address = request.replyto
     if not address:
         return
     try:
         self.producer.send(address,
                            sn=sn,
                            data=data,
                            status='started',
                            timestamp=timestamp())
     except Exception:
         log.exception('Send: started, failed')
Exemple #5
0
 def send_started(self, request):
     """
     Send the a status update if requested.
     :param request: The received request.
     :type request: Document
     """
     sn = request.sn
     data = request.data
     address = request.replyto
     if not address:
         return
     try:
         self.producer.send(
             address,
             sn=sn,
             data=data,
             status='started',
             timestamp=timestamp())
     except Exception:
         log.exception('send (started), failed')
Exemple #6
0
 def test_timestamp(self, dt):
     dt.utcnow.return_value = datetime(2014, 12, 25, 9, 30, 0)
     ts = timestamp()
     self.assertEqual(ts, '2014-12-25T09:30:00Z')
Exemple #7
0
 def test_timestamp(self, dt):
     dt.utcnow.return_value = datetime(2014, 12, 25, 9, 30, 0)
     ts = timestamp()
     self.assertEqual(ts, '2014-12-25T09:30:00Z')