Example #1
0
    def test_exception_task(self):
        self.tiger.delay(exception_task)

        Worker(self.tiger).run(once=True)
        queues = self._ensure_queues(queued={'default': 0},
                                     error={'default': 1})

        task = queues['error']['default'][0]
        self.assertEqual(task['func'], 'tests.tasks.exception_task')

        executions = self.conn.lrange('t:task:%s:executions'%task['id'], 0, -1)
        self.assertEqual(len(executions), 1)
        execution = json.loads(executions[0])
        self.assertEqual(execution['exception_name'],
                         serialize_func_name(Exception))
        self.assertEqual(execution['success'], False)
Example #2
0
    def test_exception_task(self):
        self.tiger.delay(exception_task)

        Worker(self.tiger).run(once=True)
        queues = self._ensure_queues(queued={'default': 0},
                                     error={'default': 1})

        task = queues['error']['default'][0]
        self.assertEqual(task['func'], 'tests.tasks.exception_task')

        executions = self.conn.lrange('t:task:%s:executions' % task['id'], 0,
                                      -1)
        self.assertEqual(len(executions), 1)
        execution = json.loads(executions[0])
        self.assertEqual(execution['exception_name'],
                         serialize_func_name(Exception))
        self.assertEqual(execution['success'], False)
Example #3
0
    def test_exception_task(self):
        self.tiger.delay(exception_task)

        Worker(self.tiger).run(once=True)
        queues = self._ensure_queues(queued={'default': 0},
                                     error={'default': 1})

        task = queues['error']['default'][0]
        assert task['func'] == 'tests.tasks:exception_task'

        executions = self.conn.lrange('t:task:%s:executions' % task['id'], 0,
                                      -1)
        assert len(executions) == 1
        execution = json.loads(executions[0])
        assert execution['exception_name'] == serialize_func_name(Exception)
        assert not execution['success']
        assert execution['traceback'].startswith(
            'Traceback (most recent call last):')
Example #4
0
    def test_exception_task(self, store_tracebacks):
        self.tiger.config['STORE_TRACEBACKS'] = store_tracebacks

        self.tiger.delay(exception_task)

        Worker(self.tiger).run(once=True)
        queues = self._ensure_queues(queued={'default': 0},
                                     error={'default': 1})

        task = queues['error']['default'][0]
        assert task['func'] == 'tests.tasks:exception_task'

        executions = self.conn.lrange('t:task:%s:executions' % task['id'], 0, -1)
        assert len(executions) == 1
        execution = json.loads(executions[0])
        assert execution['exception_name'] == serialize_func_name(Exception)
        assert not execution['success']
        if store_tracebacks:
            assert execution['traceback'].startswith(
                'Traceback (most recent call last):'
            )
        else:
            assert 'traceback' not in execution