sasync.parray.Transactor(AccessBroker)
class documentation
Part of sasync.parray
(View In Hierarchy)
I do the hands-on work of (potentially) non-blocking database access for the persistence of array elements within a uniquely-identified group.
My methods return Twisted deferred instances to the results of their database accesses rather than forcing the client code to block while the database access is being completed.
Method | __init__ | Instantiates me for a three-dimensional array of elements within a particular group uniquely identified by the supplied integer ID, using a database connection to url. |
Method | startup | You can run my transaction methods when the deferred returned from this method fires, and not before. |
Method | load | Element load transaction |
Method | update | Element overwrite (entry update) transaction |
Method | insert | Element add (entry insert) transaction |
Method | delete | Element delete transaction |
Method | clear | Transaction to clear all elements (Use with care!) |
Inherited from AccessBroker:
Instance Variable | q | A property-generated reference to a threaded task queue that is dedicated to my database connection. |
Instance Variable | connection | The current SQLAlchemy connection object, if any yet exists. Generated by
my connect
method. |
Class Method | setup | Constructs a global queue for all instances of me, returning a deferred that fires with it. |
Method | singleton | Undocumented |
Method | connect | Undocumented |
Method | waitUntilRunning | Returns a Deferred that fires when the broker is running
and ready for transactions. |
Method | callWhenRunning | Calls the f-args-kw combo when the broker is running and ready for transactions. |
Method | table | Instantiates a new table object, creating it in the transaction thread as needed. |
Method | first | No summary |
Method | shutdown | Shuts down my database transaction functionality and threaded task
queue, returning a Deferred that fires when all queued tasks
are done and the shutdown is complete. |
Method | handleResult | No summary |
Method | s | Polymorphic method for working with select instances within
a cached selection subcontext. |
Method | select | Just returns an SQLAlchemy select object. You do everything
else. |
Method | selex | Supply columns as arguments and this method generates a select on the columns, yielding a placeholder object with the same attributes as the select object itself. |
Method | selectorator | No summary |
Method | execute | Does a connection.execute(*args, **kw) as a transaction, in
my thread with my current connection, with all the usual handling of the
ResultProxy . |
Method | sql | Executes raw SQL as a transaction, in my thread with my current connection, with any rows of the result returned as a list. |
Method | produceRows | No summary |
Method | deferToQueue | Dispatches callable(*args, **kw) as a task via the like-named
method of my asynchronous queue, returning a Deferred to its
eventual result. |
Instantiates me for a three-dimensional array of elements within a particular group uniquely identified by the supplied integer ID, using a database connection to url.
You can run my transaction methods when the deferred returned from this method fires, and not before.