some docs improvement for 3.7.0

This commit is contained in:
Alan Boudreault 2016-09-13 09:50:27 -04:00
parent 4f6d88ad1c
commit 39f8202990
3 changed files with 32 additions and 1 deletions

View File

@ -939,6 +939,9 @@ class NoSpeculativeExecutionPolicy(SpeculativeExecutionPolicy):
class ConstantSpeculativeExecutionPolicy(SpeculativeExecutionPolicy):
"""
A speculative execution policy that sends a new query every X seconds (**delay**) for a maximum of Y attempts (**max_attempts**).
"""
def __init__(self, delay, max_attempts):
self.delay = delay

View File

@ -68,3 +68,12 @@ Retrying Failed Operations
.. autoclass:: DowngradingConsistencyRetryPolicy
:members:
Retrying Idempotent Operations
------------------------------
.. autoclass:: SpeculativeExecutionPolicy
:members:
.. autoclass:: ConstantSpeculativeExecutionPolicy
:members:

View File

@ -3,7 +3,7 @@
Paging Large Queries
====================
Cassandra 2.0+ offers support for automatic query paging. Starting with
version 2.0 of the driver, if :attr:`~.Cluster.protocol_version` is greater than
version 2.0 of the driver, if :attr:`~.Cluster.protocol_version` is greater than
:const:`2` (it is by default), queries returning large result sets will be
automatically paged.
@ -74,3 +74,22 @@ pages. For example::
handler.finished_event.wait()
if handler.error:
raise handler.error
Resume Paged Results
--------------------
You can resume the pagination when executing a new query by using the :attr:`.ResultSet.paging_state`. This can be useful if you want to provide some stateless pagination capabilities to your application (ie. via http). For example::
from cassandra.query import SimpleStatement
query = "SELECT * FROM users"
statement = SimpleStatement(query, fetch_size=10)
results = session.execute(statement)
# save the paging_state somewhere and return current results
session['paging_stage'] = results.paging_state
# resume the pagination sometime later...
statement = SimpleStatement(query, fetch_size=10)
ps = session['paging_state']
results = session.execute(statement, paging_state=ps)