Beispiel #1
0
 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
Beispiel #3
0
 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 )
Beispiel #5
0
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)
Beispiel #6
0
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)