def _process_queue(self): while True: work_item = operations.retrieve_work_item(max_wait_time = 5) if work_item: mail_parser.handle_work_item(self.processor, work_item) operations.close_work_item(work_item, True) else: break
def _process_queue(self): while True: work_item = operations.retrieve_work_item(max_wait_time=3) if work_item: mail_parser.handle_work_item(self.processor, work_item) operations.close_work_item(work_item, True) else: logging.info('no more work items') break
def _process_queue(self): while True: work_item = operations.retrieve_work_item(max_wait_time = 3) if work_item: mail_parser.handle_work_item(self.processor, work_item) operations.close_work_item(work_item, True) else: logging.info('no more work items') break
def _validate_consumer(self, asset, content): work_item = operations.retrieve_work_item(max_wait_time=30) self.assert_( work_item is not None ) self.assert_( int(work_item['Asset-ID']) == asset.pk ) self.assert_( open(work_item['Local-Path']).read() == content ) operations.close_work_item( work_item = work_item, delete_from_queue = True ) work_item = operations.retrieve_work_item(max_wait_time=30) for i in work_item and work_item.iteritems() or (): print ' %s = %r' % i self.assert_( work_item is None )
def thread_proc(options, work_item): """ Handle a work item (in a thread) by spawning a helper process """ status = -1 try: status = os.system( '/usr/bin/env' \ ' python -m donomo.archive.service.driver.helper' \ ' %(Process-Name)s %(Asset-ID)s %(Is-New)s' % work_item ) finally: # in debug mode a failure of a processor is likely due to a bug # this means the next time we process this message we'll fail in the same way # no point of keeping such message in the queue because we don't care about # data loss (in DEBUG mode). if settings.DEBUG: operations.close_work_item(work_item, True) else: operations.close_work_item(work_item, status == 0) options.queue.put(True)
def thread_proc(options, work_item): """ Handle a work item (in a thread) by spawning a helper process """ status = -1 try: status = os.system( "/usr/bin/env" " python -m donomo.archive.service.driver.helper" " %(Process-Name)s %(Asset-ID)s %(Is-New)s" % work_item ) finally: # in debug mode a failure of a processor is likely due to a bug # this means the next time we process this message we'll fail in the same way # no point of keeping such message in the queue because we don't care about # data loss (in DEBUG mode). if settings.DEBUG: operations.close_work_item(work_item, True) else: operations.close_work_item(work_item, status == 0) options.queue.put(True)