Notice: Over the next few months, we're reorganizing the App Engine documentation site to make it easier to find content and better align with the rest of Google Cloud products. The same content will be available, but the navigation will now match the rest of the Cloud products.

Python 3.10 is now available in preview.

google.appengine.ext.ndb.SerialQueueFuture

Like QueueFuture but maintains the order of insertion.

Inherits From: Future, expected_type

This class is used by Query operations.

Invariants:

  • At least one of _queue and _waiting is empty.
  • The Futures in _waiting are always pending.

(The Futures in _queue may be pending or completed.)

In the discussion below, add_dependent() is treated the same way as putq().

If putq() is ahead of getq(), the situation is like this:

                   putq()
                   v

_queue: [f1, f2, ...]; _waiting: [] ^ getq()

Here, putq() appends a Future to the right of _queue, and getq() removes one from the left.

If getq() is ahead of putq(), it's like this:

        putq()
        v

_queue: []; _waiting: [f1, f2, ...] ^ getq()

Here, putq() removes a Future from the left of _waiting, and getq() appends one to the right.

When both are empty, putq() appends a Future to the right of _queue, while getq() appends one to the right of _waiting.

The _full flag means that no more calls to putq() will be made; it is set by calling either complete() or set_exception().

Calling complete() signals that no more putq() calls will be made. If getq() is behind, subsequent getq() calls will eat up _queue until it is empty, and after that will return a Future that passes EOFError (note that getq() itself never raises EOFError). If getq() is ahead when complete() is called, the Futures in _waiting are all passed an EOFError exception (thereby eating up _waiting).

If, instead of complete(), set_exception() is called, the exception and traceback set there will be used instead of EOFError.

state

Methods

add_callback

View source

add_dependent

View source

add_immediate_callback

View source

check_success

View source

complete

View source

done

View source

dump

View source

dump_stack

View source

get_exception

View source

get_result

View source

get_traceback

View source

getq

View source

putq

View source

set_exception

View source

set_result

View source

wait

View source

wait_all

View source

wait_any

View source

FINISHING 2
IDLE 0
RUNNING 1