コード例 #1
0
ファイル: builtin.py プロジェクト: swipswaps/gofer
 def cancel(self, sn=None, criteria=None):
     """
     Cancel by serial number or user defined property.
     :param sn: An RMI serial number.
     :type sn: str
     :param criteria: The criteria used to match the
         *data* property on an RMI request.
     :type criteria: dict
     :return: The list of cancelled serial numbers.
     :rtype: list
     :raise Exception, on (sn) not found.
     :see: gofer.rmi.criteria
     """
     sn_list = []
     cancelled = []
     tracker = Tracker()
     if sn:
         sn_list = [sn]
     if criteria:
         b = Builder()
         criteria = b.build(criteria)
         sn_list = tracker.find(criteria)
     for sn in sn_list:
         _sn = tracker.cancel(sn)
         if _sn:
             cancelled.append(_sn)
     return cancelled
コード例 #2
0
ファイル: rmi.py プロジェクト: pombreda/gofer
 def __init__(self, sn):
     """
     :param sn: Serial number.
     :type sn: str
     """
     self.sn = sn
     self.tracker = Tracker()
コード例 #3
0
 def __init__(self, sn):
     """
     :param sn: The current request serial number.
     :type sn: str
     """
     self.sn = sn
     self.tracker = Tracker()
コード例 #4
0
 def _put(self, request, jnl_path):
     """
     Enqueue the request.
     :param request: An AMQP request.
     :type request: Document
     :param jnl_path: Path to the associated journal file.
     :type jnl_path: str
     """
     request.ts = time()
     tracker = Tracker()
     tracker.add(request.sn, request.data)
     self.journal[request.sn] = jnl_path
     self.queue.put(request)