Exemplo n.º 1
0
    def testParallelReturnsAllResults(self, taskqueue, ndb):
        queue.parallel(
            task(Ok, 'ONE'), task(Ok, 'TWO')
        ).then(handler).run()
        consume(taskqueue)

        assert [["ONE", "TWO"]] == messages
Exemplo n.º 2
0
            def testParentUsesId2(self, taskqueue):
                main = task(noop, _use_id='A')
                sub = task(P)
                main.enqueue_subtask(sub)
                main.enqueue_subtask(sub)

                assert count_tasks(taskqueue) == 1
Exemplo n.º 3
0
    def testAbortInOrder(self, taskqueue, ndb):
        queue.inorder(
            task(A), task(T), task(C)
        ).run()

        consume(taskqueue)
        assert ["A"] == messages
Exemplo n.º 4
0
    def testInOrderReturnsLastResult(self, taskqueue, ndb):
        queue.inorder(
            task(Ok, 'ONE'), task(Ok, 'TWO')
        ).then(handler).run()
        consume(taskqueue)

        assert ['TWO'] == messages
Exemplo n.º 5
0
            def testParentUsesName2(self, taskqueue):
                main = task(noop)
                sub = task(P)
                main.enqueue_subtask(sub)
                main.enqueue_subtask(sub)

                assert count_tasks(taskqueue) == 1
Exemplo n.º 6
0
    def testInOrder(self, taskqueue, ndb):
        queue.inorder(
            task(A), task(B), task(C)
        ).run()

        assert count_tasks(taskqueue) == 1
        consume(taskqueue)

        assert ['A', 'B', 'C'] == messages
Exemplo n.º 7
0
    def testAbortParallel(self, taskqueue, fastndb):
        queue.parallel(
            task(P, 'ONE'), task(T), task(P, 'TWO')
        ).then(task(C)).run()

        consume(taskqueue)
        assert "ONE TWO".split() == messages

        assert [] == queue._Counter.query().fetch()
Exemplo n.º 8
0
    def testParallel(self, taskqueue, ndb):
        queue.parallel(
            task(P, 'ONE'), task(P, 'TWO'), task(P, 'THREE')
        ).run()

        assert count_tasks(taskqueue) == 3
        consume(taskqueue)

        assert 'ONE TWO THREE'.split() == messages
Exemplo n.º 9
0
    def testNestedInOrder(self, taskqueue, ndb):
        queue.inorder(
            task(A),
            queue.inorder(task(P, 'ONE'), task(P, 'TWO')),
            task(C)
        ).run()

        consume(taskqueue)
        assert 'A ONE TWO C'.split() == messages
Exemplo n.º 10
0
        def testEnsureInOrderExecution(self, taskqueue, ndb):
            queue.inorder(
                task(A),
                task(DEFER),
                task(B)
            ).run()
            consume(taskqueue)

            assert "A DEFER deferred B".split() == messages
Exemplo n.º 11
0
    def testReturnAbortToAbort(self, taskqueue, ndb):
        queue.inorder(
            task(A),
            task(RETURN_ABORT),
            task(B)
        ).run()

        consume(taskqueue)

        assert ["A"] == messages
Exemplo n.º 12
0
        def testEnsureMultipleTaskGetCleanedIfReleaseAfterIsIused(
                self, taskqueue, fastndb):
            queue.inorder(
                task(P, 'ONE')
            ).enqueue(release_after=1)
            queue.inorder(
                task(P, 'TWO')
            ).enqueue(release_after=1)

            consume(taskqueue)
            semaphores = queue.Lock.model.query().fetch()
            assert len(semaphores) == 0
Exemplo n.º 13
0
    def testCombined(self, taskqueue, fastndb):
        queue.inorder(
            task(A),
            queue.parallel(task(P, 'ONE'), task(P, 'TWO'), task(P, 'THREE')),
            task(B)
        ).run()

        consume(taskqueue)

        assert 'A ONE TWO THREE B'.split() == messages

        assert [] == queue._Counter.query().fetch()
Exemplo n.º 14
0
    def testComplicated(self, taskqueue, ndb):
        queue.parallel(
            task(A),
            queue.inorder(
                task(P, 'ONE'),
                task(P, 'TWO'),
                task(P, 'THREE')
            ),
            task(B)
        ).run()

        consume(taskqueue)
        assert "A B ONE TWO THREE".split() == messages
Exemplo n.º 15
0
            def testA(self, taskqueue, ndb):
                A = queue.inorder(
                    task(P)
                ).enqueue(use_id='A')
                B = queue.inorder(
                    task(P)
                ).enqueue(use_id='B')
                assert count_tasks(taskqueue) == 2

                tick(taskqueue)
                assert count_tasks(taskqueue) == 2
                tick(taskqueue)
                assert count_tasks(taskqueue) == 0

                assert 'P P'.split() == messages
Exemplo n.º 16
0
        def testIdIsReleasedAfterXSeconds(self, taskqueue, ndb):
            task(noop).enqueue(release_after=1)
            assert count_tasks(taskqueue) == 1
            tick(taskqueue)
            assert count_tasks(taskqueue) == 1  # the cleanup handler

            cleanup_handler = taskqueue.get_filtered_tasks()[0]

            now = datetime.datetime.now(tz=queue.taskqueue.taskqueue._UTC)
            now = now.replace(microsecond=0)
            assert cleanup_handler.eta == now + datetime.timedelta(seconds=1)

            task(noop).enqueue()
            assert count_tasks(taskqueue) == 1

            tick(taskqueue)
            assert count_tasks(taskqueue) == 0  # ensure

            task(noop).enqueue()
            assert count_tasks(taskqueue) == 1
Exemplo n.º 17
0
    def testA(self, taskqueue, ndb):
        foo = Foo()
        task(foo.bar).enqueue()
        consume(taskqueue)

        assert ['bar'] == messages
Exemplo n.º 18
0
 def testPreventNamedTaskToBeScheduledTwice2(self, taskqueue):
     task(noop, _name='A').enqueue()
     task(noop, _name='A').enqueue()
     assert count_tasks(taskqueue) == 1
Exemplo n.º 19
0
    def testCallAbortToAbort(self, taskqueue):
        task(CALL_ABORT).then(None, handler).run()

        assert "ABORT NOW" == str(messages[0])
        assert isinstance(messages[0], queue.AbortQueue)
Exemplo n.º 20
0
    def testFailure(self, taskqueue):
        task(RETURN_ABORT).failure(handler).run()

        assert [queue.ABORT] == messages
Exemplo n.º 21
0
 def testDeferredHandler(self, taskqueue, ndb):
     task(Ok).success(task(handler)).run()
     assert count_tasks(taskqueue) == 1
     consume(taskqueue)
     assert ['Ok'] == messages
Exemplo n.º 22
0
 def testCantAddTheSameHandlerTwice(self, taskqueue):
     task(Ok).success(handler).success(handler).run()
     assert ['Ok'] == messages
Exemplo n.º 23
0
 def testSuccess(self, taskqueue):
     task(Ok).success(handler).run()
     assert ['Ok'] == messages
Exemplo n.º 24
0
 def testSilentlyDisallowDoubleExecution(self, taskqueue, ndb):
     task(noop).enqueue()
     task(noop).enqueue()
     assert count_tasks(taskqueue) == 1
Exemplo n.º 25
0
 def testProtectedByGivenId2(self, taskqueue, ndb):
     task(noop, _use_id='A').enqueue()
     task(noop, _use_id='A').enqueue()
     assert count_tasks(taskqueue) == 1
Exemplo n.º 26
0
 def testIdCanBeReusedImmediately(self, taskqueue, ndb):
     task(noop).enqueue()
     assert count_tasks(taskqueue) == 1
     consume(taskqueue)
     task(noop).enqueue()
     assert count_tasks(taskqueue) == 1
Exemplo n.º 27
0
    def testTaskStr(self):

        print task(P, message='ONE')
        print queue.inorder(task(A), task(B))
        print queue.parallel(task(A), task(B), task(P, message='ONE'))
Exemplo n.º 28
0
def DEFER():
    messages.append('DEFER')
    return task(P, 'deferred')
Exemplo n.º 29
0
 def testDisableProtection3(self, taskqueue):
     task(noop, _use_id=False).enqueue()
     task(noop, _use_id=False).enqueue()
     assert count_tasks(taskqueue) == 2
Exemplo n.º 30
0
        def testFurtherDefer(self, taskqueue, ndb):
            task(DEFER).run()
            consume(taskqueue)

            assert "DEFER deferred".split() == messages